Created
January 17, 2018 14:53
-
-
Save aclamk/3dda6320bf82c4a855e7aec658545af5 to your computer and use it in GitHub Desktop.
Libunwind & gdb wallclocks
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Thread: 1 (ceph-osd) - 218 samples | |
+ 100.00% main | |
+ 100.00% AsyncMessenger::wait | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 2 (signal_handler) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SignalHandler::entry | |
+ 100.00% poll | |
+ 100.00% poll | |
Thread: 3 (osd_srv_agent) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% OSDService::AgentThread::entry | |
+ 100.00% OSDService::agent_entry | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 4 (safe_timer) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 5 (safe_timer) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 6 (safe_timer) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 7 (safe_timer) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 8 (finisher) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 9 (fn_anonymous) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 10 (osd_srv_heartbt) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% OSD::T_Heartbeat::entry | |
+ 100.00% OSD::heartbeat_entry | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 11 (tp_osd_cmd) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ThreadPool::WorkThread::entry | |
+ 100.00% ThreadPool::worker | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 12 (tp_osd_disk) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ThreadPool::WorkThread::entry | |
+ 100.00% ThreadPool::worker | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 13 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.08% WaitInterval | |
| + 99.08% WaitUntil | |
| + 99.08% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.92% run | |
+ 0.92% PGOpItem::run | |
+ 0.92% OSD::dequeue_op | |
+ 0.92% PrimaryLogPG::do_request | |
+ 0.92% PrimaryLogPG::do_op | |
+ 0.92% PrimaryLogPG::execute_ctx | |
+ 0.46% PrimaryLogPG::issue_repop | |
| + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::queue_transactions | |
| + 0.46% queue_transactions | |
| + 0.46% BlueStore::queue_transactions | |
| + 0.46% ~list | |
| + 0.46% ~list | |
| + 0.46% ~_List_base | |
| + 0.46% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| + 0.46% destroy<std::_List_node<ceph::buffer::ptr> > | |
| + 0.46% ~_List_node | |
| + 0.46% ~ptr | |
| + 0.46% ceph::buffer::ptr::release | |
| + 0.46% tc_free | |
+ 0.46% PrimaryLogPG::calc_trim_to | |
+ 0.46% size | |
+ 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 14 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.54% WaitInterval | |
| + 99.54% WaitUntil | |
| + 99.54% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 15 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 16 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.08% WaitInterval | |
| + 99.08% WaitUntil | |
| + 99.08% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% run | |
| + 0.46% PGOpItem::run | |
| + 0.46% OSD::dequeue_op | |
| + 0.46% PrimaryLogPG::do_request | |
| + 0.46% PrimaryLogPG::do_op | |
| + 0.46% PrimaryLogPG::execute_ctx | |
| + 0.46% PrimaryLogPG::prepare_transaction | |
| + 0.46% PrimaryLogPG::do_osd_ops | |
| + 0.46% get_val<bool> | |
| + 0.46% md_config_t::get_val_generic | |
| + 0.46% Locker | |
| + 0.46% Mutex::Lock | |
| + 0.46% pthread_mutex_lock | |
| + 0.46% _L_lock_870 | |
| + 0.46% __lll_lock_wait | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 17 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.08% WaitInterval | |
| + 99.08% WaitUntil | |
| + 99.08% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.92% Mutex::Lock | |
+ 0.92% pthread_mutex_lock | |
+ 0.92% _L_lock_812 | |
+ 0.92% __lll_lock_wait | |
Thread: 18 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.62% WaitInterval | |
| + 98.62% WaitUntil | |
| + 98.62% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 1.38% run | |
+ 1.38% PGOpItem::run | |
+ 1.38% OSD::dequeue_op | |
+ 1.38% PrimaryLogPG::do_request | |
+ 1.38% PrimaryLogPG::do_op | |
+ 1.38% PrimaryLogPG::execute_ctx | |
+ 0.92% PrimaryLogPG::issue_repop | |
| + 0.92% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.92% PrimaryLogPG::queue_transactions | |
| + 0.92% queue_transactions | |
| + 0.92% BlueStore::queue_transactions | |
| + 0.46% ceph_clock_now | |
| | + 0.46% clock_gettime | |
| + 0.46% BlueStore::_txc_add_transaction | |
| + 0.46% BlueStore::Collection::get_onode | |
| + 0.46% BlueStore::OnodeSpace::lookup | |
| + 0.46% find | |
| + 0.46% std::_Hashtable<ghobject_t, std::pair<ghobject_t const, boost::intrusive_ptr<BlueStore::Onode> >, mempool::pool_allocator<(mempool::pool_index_t)4, std::pair<ghobject_t const, boost::intrusive_ptr<BlueStore::Onode> > >, std::__detail::_Select1st, std::equal_to<ghobject_t>, std::hash<ghobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::find | |
| + 0.46% _M_find_node | |
| + 0.46% std::_Hashtable<ghobject_t, std::pair<ghobject_t const, boost::intrusive_ptr<BlueStore::Onode> >, mempool::pool_allocator<(mempool::pool_index_t)4, std::pair<ghobject_t const, boost::intrusive_ptr<BlueStore::Onode> > >, std::__detail::_Select1st, std::equal_to<ghobject_t>, std::hash<ghobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node | |
| + 0.46% _M_equals | |
| + 0.46% _S_equals | |
| + 0.46% operator() | |
| + 0.46% operator== | |
| + 0.46% operator== | |
| + 0.46% operator==<char> | |
| + 0.46% compare | |
| + 0.46% __memcmp_sse4_1 | |
+ 0.46% PrimaryLogPG::calc_trim_to | |
+ 0.46% size | |
+ 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 19 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.17% WaitInterval | |
| + 98.17% WaitUntil | |
| + 98.17% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 1.38% run | |
| + 1.38% PGOpItem::run | |
| + 1.38% OSD::dequeue_op | |
| + 1.38% PrimaryLogPG::do_request | |
| + 1.38% PrimaryLogPG::do_op | |
| + 1.38% PrimaryLogPG::execute_ctx | |
| + 0.92% PrimaryLogPG::issue_repop | |
| | + 0.92% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 0.92% PrimaryLogPG::queue_transactions | |
| | + 0.92% queue_transactions | |
| | + 0.92% BlueStore::queue_transactions | |
| | + 0.92% BlueStore::_txc_state_proc | |
| | + 0.92% BlueStore::_txc_finish_io | |
| | + 0.92% BlueStore::_txc_state_proc | |
| | + 0.92% lock_guard | |
| | + 0.92% lock | |
| | + 0.92% __gthread_mutex_lock | |
| | + 0.92% pthread_mutex_lock | |
| | + 0.92% _L_lock_812 | |
| | + 0.92% __lll_lock_wait | |
| + 0.46% PrimaryLogPG::prepare_transaction | |
| + 0.46% PrimaryLogPG::do_osd_ops | |
| + 0.46% get_val<bool> | |
| + 0.46% md_config_t::get_val_generic | |
| + 0.46% Locker | |
| + 0.46% Mutex::Lock | |
| + 0.46% pthread_mutex_lock | |
| + 0.46% _L_lock_870 | |
| + 0.46% __lll_lock_wait | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 20 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.62% WaitInterval | |
| + 98.62% WaitUntil | |
| + 98.62% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.92% run | |
| + 0.92% PGOpItem::run | |
| + 0.92% OSD::dequeue_op | |
| + 0.92% PrimaryLogPG::do_request | |
| + 0.92% PrimaryLogPG::do_op | |
| + 0.92% PrimaryLogPG::execute_ctx | |
| + 0.46% PrimaryLogPG::prepare_transaction | |
| | + 0.46% PrimaryLogPG::finish_ctx | |
| | + 0.46% PGTransaction::setattrs | |
| | + 0.46% operator[] | |
| | + 0.46% std::_Rb_tree<std::string, std::pair<std::string const, boost::optional<ceph::buffer::list> >, std::_Select1st<std::pair<std::string const, boost::optional<ceph::buffer::list> > >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::optional<ceph::buffer::list> > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::string const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::string const, boost::optional<ceph::buffer::list> > >, std::piecewise_construct_t const&, std::tuple<std::string const&>&&, std::tuple<>&&) | |
| + 0.46% PrimaryLogPG::issue_repop | |
| + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::queue_transactions | |
| + 0.46% queue_transactions | |
| + 0.46% BlueStore::queue_transactions | |
| + 0.46% BlueStore::_txc_add_transaction | |
| + 0.46% BlueStore::Collection::get_onode | |
| + 0.46% BlueStore::OnodeSpace::lookup | |
| + 0.46% BlueStore::TwoQCache::_touch_onode | |
| + 0.46% erase | |
| + 0.46% erase_and_dispose<boost::intrusive::detail::null_disposer> | |
| + 0.46% decrement | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 21 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.54% WaitInterval | |
| + 99.54% WaitUntil | |
| + 99.54% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% run | |
+ 0.46% PGOpItem::run | |
+ 0.46% OSD::dequeue_op | |
+ 0.46% PrimaryLogPG::do_request | |
+ 0.46% PrimaryLogPG::do_op | |
+ 0.46% PrimaryLogPG::execute_ctx | |
+ 0.46% PrimaryLogPG::calc_trim_to | |
+ 0.46% size | |
+ 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 22 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.54% WaitInterval | |
| + 99.54% WaitUntil | |
| + 99.54% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% run | |
+ 0.46% PGOpItem::run | |
+ 0.46% OSD::dequeue_op | |
+ 0.46% PrimaryLogPG::do_request | |
+ 0.46% PrimaryLogPG::do_op | |
+ 0.46% PrimaryLogPG::execute_ctx | |
+ 0.46% PrimaryLogPG::issue_repop | |
+ 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
+ 0.46% PrimaryLogPG::log_operation | |
+ 0.46% PG::append_log | |
+ 0.46% PG::write_if_dirty | |
+ 0.46% PGLog::write_log_and_missing | |
+ 0.46% PGLog::_write_log_and_missing | |
+ 0.46% ~set | |
+ 0.46% ~_Rb_tree | |
+ 0.46% std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_erase | |
+ 0.46% std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_erase | |
+ 0.46% _M_destroy_node | |
+ 0.46% destroy<std::_Rb_tree_node<std::basic_string<char> > > | |
+ 0.46% ~_Rb_tree_node | |
+ 0.46% ~basic_string | |
+ 0.46% std::string::_Rep::_M_dispose | |
+ 0.46% std::string::_Rep::_M_destroy | |
+ 0.46% deallocate | |
+ 0.46% tc_delete | |
+ 0.46% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
+ 0.46% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
Thread: 23 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% __pthread_mutex_cond_lock | |
+ 0.46% _L_cond_lock_789 | |
+ 0.46% __lll_lock_wait | |
Thread: 24 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 99.54% OSD::ShardedOpWQ::_process | |
| + 99.54% WaitInterval | |
| + 99.54% WaitUntil | |
| + 99.54% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% ceph::HeartbeatMap::reset_timeout | |
Thread: 25 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 26 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.08% WaitInterval | |
| + 99.08% WaitUntil | |
| + 99.08% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.92% run | |
+ 0.92% PGOpItem::run | |
+ 0.92% OSD::dequeue_op | |
+ 0.92% PrimaryLogPG::do_request | |
+ 0.92% PrimaryLogPG::do_op | |
+ 0.92% PrimaryLogPG::execute_ctx | |
+ 0.46% PrimaryLogPG::prepare_transaction | |
| + 0.46% PrimaryLogPG::do_osd_ops | |
| + 0.46% get_val<bool> | |
| + 0.46% md_config_t::get_val_generic | |
| + 0.46% md_config_t::_get_val_generic | |
| + 0.46% ConfFile::normalize_key_name | |
| + 0.46% ConfFile::trim_whitespace | |
| + 0.46% isspace | |
+ 0.46% PrimaryLogPG::issue_repop | |
+ 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
+ 0.46% PrimaryLogPG::queue_transactions | |
+ 0.46% queue_transactions | |
+ 0.46% BlueStore::queue_transactions | |
+ 0.46% collect_contexts | |
+ 0.46% C_ContextsBase<Context, Context>::list_to_context | |
+ 0.46% tc_new | |
Thread: 27 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.08% WaitInterval | |
| + 99.08% WaitUntil | |
| + 99.08% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% run | |
| + 0.46% PGOpItem::run | |
| + 0.46% OSD::dequeue_op | |
| + 0.46% PrimaryLogPG::do_request | |
| + 0.46% PrimaryLogPG::do_op | |
| + 0.46% PrimaryLogPG::execute_ctx | |
| + 0.46% PrimaryLogPG::calc_trim_to | |
| + 0.46% size | |
| + 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 28 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 95.87% WaitInterval | |
| + 95.87% WaitUntil | |
| + 95.87% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 2.75% run | |
| + 2.75% PGOpItem::run | |
| + 2.75% OSD::dequeue_op | |
| + 2.75% PrimaryLogPG::do_request | |
| + 2.75% PrimaryLogPG::do_op | |
| + 2.75% PrimaryLogPG::execute_ctx | |
| + 1.83% PrimaryLogPG::calc_trim_to | |
| | + 1.83% size | |
| | + 1.83% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.83% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.92% PrimaryLogPG::issue_repop | |
| + 0.92% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.92% PrimaryLogPG::queue_transactions | |
| + 0.92% queue_transactions | |
| + 0.92% BlueStore::queue_transactions | |
| + 0.46% RocksDBStore::RocksDBTransactionImpl::set | |
| | + 0.46% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | + 0.46% rocksdb::WriteBatch::Put | |
| | + 0.46% rocksdb::WriteBatchInternal::Put | |
| | + 0.46% PutLengthPrefixedSliceParts | |
| | + 0.46% std::string::append | |
| | + 0.46% std::string::reserve | |
| | + 0.46% std::string::_Rep::_M_clone | |
| | + 0.46% _M_copy | |
| | + 0.46% copy | |
| | + 0.46% __memcpy_ssse3 | |
| + 0.46% BlueStore::_txc_add_transaction | |
| + 0.46% BlueStore::_omap_setkeys | |
| + 0.46% operator+= | |
| + 0.46% std::string::append | |
| + 0.46% std::string::reserve | |
| + 0.46% std::string::_Rep::_M_clone | |
| + 0.46% std::string::_Rep::_S_create | |
| + 0.46% allocate | |
| + 0.46% tc_new | |
+ 1.38% PG::lock | |
+ 1.38% Mutex::Lock | |
+ 1.38% pthread_mutex_lock | |
+ 1.38% _L_lock_812 | |
+ 1.38% __lll_lock_wait | |
Thread: 29 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 30 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.08% WaitInterval | |
| + 99.08% WaitUntil | |
| + 99.08% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.92% run | |
+ 0.92% PGOpItem::run | |
+ 0.92% OSD::dequeue_op | |
+ 0.92% PrimaryLogPG::do_request | |
+ 0.92% PrimaryLogPG::do_op | |
+ 0.92% PrimaryLogPG::execute_ctx | |
+ 0.46% PrimaryLogPG::prepare_transaction | |
| + 0.46% PrimaryLogPG::do_osd_ops | |
| + 0.46% get_val<bool> | |
| + 0.46% md_config_t::get_val_generic | |
| + 0.46% Locker | |
| + 0.46% Mutex::Lock | |
| + 0.46% pthread_mutex_lock | |
| + 0.46% _L_lock_870 | |
| + 0.46% __lll_lock_wait | |
+ 0.46% PrimaryLogPG::issue_repop | |
+ 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
+ 0.46% PrimaryLogPG::queue_transactions | |
+ 0.46% queue_transactions | |
+ 0.46% BlueStore::queue_transactions | |
+ 0.46% BlueStore::_txc_state_proc | |
+ 0.46% BlueStore::_txc_finish_io | |
+ 0.46% BlueStore::_txc_state_proc | |
+ 0.46% lock_guard | |
+ 0.46% lock | |
+ 0.46% __gthread_mutex_lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 31 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.08% WaitInterval | |
| + 99.08% WaitUntil | |
| + 99.08% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% run | |
| + 0.46% PGOpItem::run | |
| + 0.46% OSD::dequeue_op | |
| + 0.46% PrimaryLogPG::do_request | |
| + 0.46% PrimaryLogPG::do_op | |
| + 0.46% OSDService::check_failsafe_full | |
| + 0.46% OSDService::_check_full | |
| + 0.46% Locker | |
| + 0.46% Mutex::Lock | |
| + 0.46% pthread_mutex_lock | |
| + 0.46% _L_lock_812 | |
| + 0.46% __lll_lock_wait | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 32 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.08% WaitInterval | |
| + 99.08% WaitUntil | |
| + 99.08% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.92% run | |
+ 0.92% PGOpItem::run | |
+ 0.92% OSD::dequeue_op | |
+ 0.92% PrimaryLogPG::do_request | |
+ 0.92% PrimaryLogPG::do_op | |
+ 0.46% PrimaryLogPG::execute_ctx | |
| + 0.46% PrimaryLogPG::calc_trim_to | |
| + 0.46% size | |
| + 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% OSDService::check_failsafe_full | |
+ 0.46% OSDService::_check_full | |
+ 0.46% Locker | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 33 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.54% WaitInterval | |
| + 99.54% WaitUntil | |
| + 99.54% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% run | |
+ 0.46% PGOpItem::run | |
+ 0.46% OSD::dequeue_op | |
+ 0.46% PrimaryLogPG::do_request | |
+ 0.46% PrimaryLogPG::do_op | |
+ 0.46% PrimaryLogPG::execute_ctx | |
+ 0.46% PrimaryLogPG::calc_trim_to | |
+ 0.46% size | |
+ 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% operator++ | |
Thread: 34 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.17% WaitInterval | |
| + 98.17% WaitUntil | |
| + 98.17% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 1.83% run | |
+ 1.83% PGOpItem::run | |
+ 1.83% OSD::dequeue_op | |
+ 1.83% PrimaryLogPG::do_request | |
+ 1.83% PrimaryLogPG::do_op | |
+ 1.83% PrimaryLogPG::execute_ctx | |
+ 0.92% PrimaryLogPG::calc_trim_to | |
| + 0.92% size | |
| + 0.92% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.92% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PrimaryLogPG::prepare_transaction | |
| + 0.46% PrimaryLogPG::do_osd_ops | |
| + 0.46% get_val<bool> | |
| + 0.46% md_config_t::get_val_generic | |
| + 0.46% Locker | |
| + 0.46% Mutex::Lock | |
| + 0.46% pthread_mutex_lock | |
| + 0.46% _L_lock_870 | |
| + 0.46% __lll_lock_wait | |
+ 0.46% PrimaryLogPG::issue_repop | |
+ 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
+ 0.46% PrimaryLogPG::log_operation | |
+ 0.46% PG::append_log | |
+ 0.46% PG::write_if_dirty | |
+ 0.46% PGLog::write_log_and_missing | |
+ 0.46% PGLog::_write_log_and_missing | |
+ 0.46% pg_log_entry_t::encode_with_checksum | |
+ 0.46% pg_log_entry_t::encode | |
+ 0.46% encode | |
+ 0.46% ObjectModDesc::encode | |
+ 0.46% encode | |
+ 0.46% ceph::buffer::list::append | |
Thread: 35 (tp_osd_tp) - 218 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 97.71% WaitInterval | |
| + 97.71% WaitUntil | |
| + 97.71% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 2.29% run | |
+ 2.29% PGOpItem::run | |
+ 2.29% OSD::dequeue_op | |
+ 2.29% PrimaryLogPG::do_request | |
+ 2.29% PrimaryLogPG::do_op | |
+ 2.29% PrimaryLogPG::execute_ctx | |
+ 1.38% PrimaryLogPG::issue_repop | |
| + 1.38% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.92% PrimaryLogPG::queue_transactions | |
| | + 0.92% queue_transactions | |
| | + 0.92% BlueStore::queue_transactions | |
| | + 0.46% BlueStore::_txc_write_nodes | |
| | | + 0.46% BlueStore::ExtentMap::update | |
| | | + 0.46% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | + 0.46% operator() | |
| | | + 0.46% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.46% combine_strings | |
| | | + 0.46% std::string::append | |
| | | + 0.46% std::string::reserve | |
| | | + 0.46% std::string::_Rep::_M_clone | |
| | | + 0.46% std::string::_Rep::_S_create | |
| | | + 0.46% allocate | |
| | | + 0.46% tc_new | |
| | | + 0.46% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.46% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.46% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | + 0.46% BlueStore::_txc_add_transaction | |
| | + 0.46% BlueStore::Collection::get_onode | |
| | + 0.46% BlueStore::OnodeSpace::lookup | |
| | + 0.46% operator= | |
| | + 0.46% swap | |
| + 0.46% insert<std::_Rb_tree_const_iterator<pg_shard_t> > | |
| + 0.46% std::_Rb_tree<pg_shard_t, pg_shard_t, std::_Identity<pg_shard_t>, std::less<pg_shard_t>, std::allocator<pg_shard_t> >::_M_insert_unique<std::_Rb_tree_const_iterator<pg_shard_t> > | |
| + 0.46% _M_insert_unique_<pg_shard_t const&> | |
| + 0.46% std::_Rb_tree<pg_shard_t, pg_shard_t, std::_Identity<pg_shard_t>, std::less<pg_shard_t>, std::allocator<pg_shard_t> >::_M_get_insert_hint_unique_pos | |
| + 0.46% std::_Rb_tree<pg_shard_t, pg_shard_t, std::_Identity<pg_shard_t>, std::less<pg_shard_t>, std::allocator<pg_shard_t> >::_M_get_insert_unique_pos | |
+ 0.92% PrimaryLogPG::calc_trim_to | |
+ 0.92% size | |
+ 0.92% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.92% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 36 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.09% WaitInterval | |
| + 99.09% WaitUntil | |
| + 99.09% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% run | |
| + 0.46% PGOpItem::run | |
| + 0.46% OSD::dequeue_op | |
| + 0.46% PrimaryLogPG::do_request | |
| + 0.46% PrimaryLogPG::do_op | |
| + 0.46% PrimaryLogPG::execute_ctx | |
| + 0.46% PrimaryLogPG::calc_trim_to | |
| + 0.46% size | |
| + 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 37 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.54% WaitInterval | |
| + 99.54% WaitUntil | |
| + 99.54% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% run | |
+ 0.46% PGOpItem::run | |
+ 0.46% OSD::dequeue_op | |
+ 0.46% PrimaryLogPG::do_request | |
+ 0.46% PrimaryLogPG::do_op | |
+ 0.46% PrimaryLogPG::execute_ctx | |
+ 0.46% PrimaryLogPG::calc_trim_to | |
+ 0.46% size | |
+ 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% operator++ | |
Thread: 38 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 39 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.63% WaitInterval | |
| + 98.63% WaitUntil | |
| + 98.63% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 1.37% run | |
+ 1.37% PGOpItem::run | |
+ 1.37% OSD::dequeue_op | |
+ 0.91% PrimaryLogPG::do_request | |
+ 0.91% PrimaryLogPG::do_op | |
+ 0.91% PrimaryLogPG::execute_ctx | |
+ 0.46% PrimaryLogPG::issue_repop | |
| + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::log_operation | |
| + 0.46% PG::append_log | |
| + 0.46% PG::write_if_dirty | |
| + 0.46% ~map | |
| + 0.46% ~_Rb_tree | |
| + 0.46% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| + 0.46% _M_destroy_node | |
| + 0.46% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
| + 0.46% ~_Rb_tree_node | |
| + 0.46% ~pair | |
| + 0.46% ~basic_string | |
| + 0.46% _ZNSs4_Rep10_M_disposeERKSaIcE@plt | |
+ 0.46% PrimaryLogPG::calc_trim_to | |
+ 0.46% size | |
+ 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 40 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.09% WaitInterval | |
| + 99.09% WaitUntil | |
| + 99.09% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.91% run | |
+ 0.91% PGOpItem::run | |
+ 0.91% OSD::dequeue_op | |
+ 0.91% PrimaryLogPG::do_request | |
+ 0.91% PrimaryLogPG::do_op | |
+ 0.91% PrimaryLogPG::execute_ctx | |
+ 0.46% PrimaryLogPG::issue_repop | |
| + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::queue_transactions | |
| + 0.46% queue_transactions | |
| + 0.46% BlueStore::queue_transactions | |
| + 0.46% BlueStore::_txc_add_transaction | |
| + 0.46% decode_attrset_bl | |
| + 0.46% decode_str_str_map_to_bl | |
| + 0.46% ceph::buffer::list::iterator::copy | |
| + 0.46% ceph::buffer::list::iterator_impl<false>::copy | |
| + 0.46% ceph::buffer::list::append | |
| + 0.46% push_back | |
| + 0.46% push_back | |
| + 0.46% _M_insert<ceph::buffer::ptr> | |
| + 0.46% _M_create_node<ceph::buffer::ptr> | |
| + 0.46% _M_get_node | |
| + 0.46% allocate | |
| + 0.46% tc_new | |
+ 0.46% PrimaryLogPG::calc_trim_to | |
+ 0.46% size | |
+ 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 41 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.54% WaitInterval | |
| + 99.54% WaitUntil | |
| + 99.54% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% run | |
+ 0.46% PGOpItem::run | |
+ 0.46% OSD::dequeue_op | |
+ 0.46% PrimaryLogPG::do_request | |
+ 0.46% PrimaryLogPG::do_op | |
+ 0.46% PrimaryLogPG::execute_ctx | |
+ 0.46% PrimaryLogPG::calc_trim_to | |
+ 0.46% size | |
+ 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 42 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.54% WaitInterval | |
| + 99.54% WaitUntil | |
| + 99.54% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 43 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 97.72% WaitInterval | |
| + 97.72% WaitUntil | |
| + 97.72% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 2.28% run | |
+ 2.28% PGOpItem::run | |
+ 2.28% OSD::dequeue_op | |
+ 2.28% PrimaryLogPG::do_request | |
+ 2.28% PrimaryLogPG::do_op | |
+ 2.28% PrimaryLogPG::execute_ctx | |
+ 1.83% PrimaryLogPG::calc_trim_to | |
| + 1.83% size | |
| + 1.83% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 1.83% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PrimaryLogPG::issue_repop | |
+ 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
+ 0.46% PrimaryLogPG::queue_transactions | |
+ 0.46% queue_transactions | |
+ 0.46% BlueStore::queue_transactions | |
+ 0.46% BlueStore::_txc_add_transaction | |
+ 0.46% BlueStore::_omap_setkeys | |
+ 0.46% RocksDBStore::RocksDBTransactionImpl::set | |
+ 0.46% RocksDBStore::RocksDBTransactionImpl::put_bat | |
+ 0.46% rocksdb::WriteBatch::Put | |
+ 0.46% rocksdb::WriteBatchInternal::Put | |
+ 0.46% PutLengthPrefixedSliceParts | |
+ 0.46% std::string::append | |
+ 0.46% std::string::reserve | |
+ 0.46% std::string::_Rep::_M_clone | |
+ 0.46% std::string::_Rep::_S_create | |
Thread: 44 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.54% WaitInterval | |
| + 99.54% WaitUntil | |
| + 99.54% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% run | |
+ 0.46% PGOpItem::run | |
+ 0.46% OSD::dequeue_op | |
+ 0.46% PrimaryLogPG::do_request | |
+ 0.46% PrimaryLogPG::do_op | |
+ 0.46% PrimaryLogPG::execute_ctx | |
+ 0.46% PrimaryLogPG::calc_trim_to | |
+ 0.46% size | |
+ 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 45 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.09% WaitInterval | |
| + 99.09% WaitUntil | |
| + 99.09% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% run | |
| + 0.46% PGOpItem::run | |
| + 0.46% OSD::dequeue_op | |
| + 0.46% PrimaryLogPG::do_request | |
| + 0.46% PrimaryLogPG::do_op | |
| + 0.46% PrimaryLogPG::execute_ctx | |
| + 0.46% PrimaryLogPG::calc_trim_to | |
| + 0.46% size | |
| + 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 46 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.54% WaitInterval | |
| + 99.54% WaitUntil | |
| + 99.54% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% run | |
+ 0.46% PGOpItem::run | |
+ 0.46% OSD::dequeue_op | |
+ 0.46% PrimaryLogPG::do_request | |
+ 0.46% PrimaryLogPG::do_op | |
+ 0.46% PrimaryLogPG::execute_ctx | |
+ 0.46% PrimaryLogPG::issue_repop | |
+ 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
+ 0.46% PrimaryLogPG::queue_transactions | |
+ 0.46% queue_transactions | |
+ 0.46% BlueStore::queue_transactions | |
+ 0.46% BlueStore::_txc_write_nodes | |
+ 0.46% BlueStore::ExtentMap::update | |
+ 0.46% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
+ 0.46% operator() | |
+ 0.46% RocksDBStore::RocksDBTransactionImpl::set | |
+ 0.46% ~basic_string | |
+ 0.46% tc_delete | |
Thread: 47 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 48 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.17% WaitInterval | |
| + 98.17% WaitUntil | |
| + 98.17% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 1.83% run | |
+ 1.83% PGOpItem::run | |
+ 1.83% OSD::dequeue_op | |
+ 1.83% PrimaryLogPG::do_request | |
+ 1.83% PrimaryLogPG::do_op | |
+ 1.83% PrimaryLogPG::execute_ctx | |
+ 0.91% PrimaryLogPG::issue_repop | |
| + 0.46% add | |
| | + 0.46% push_back | |
| | + 0.46% _M_insert<pg_log_entry_t const&> | |
| | + 0.46% _M_create_node<pg_log_entry_t const&> | |
| | + 0.46% construct<std::_List_node<pg_log_entry_t>, pg_log_entry_t const&> | |
| | + 0.46% _List_node<pg_log_entry_t const&> | |
| | + 0.46% pg_log_entry_t | |
| | + 0.46% hobject_t::hobject_t | |
| | + 0.46% object_t | |
| | + 0.46% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | + 0.46% _M_grab | |
| | + 0.46% _M_refcopy | |
| | + 0.46% __atomic_add_dispatch | |
| | + 0.46% __atomic_add | |
| + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::queue_transactions | |
| + 0.46% queue_transactions | |
| + 0.46% BlueStore::queue_transactions | |
| + 0.46% BlueStore::_txc_write_nodes | |
| + 0.46% denc<bluestore_onode_t, denc_traits<bluestore_onode_t> > | |
| + 0.46% bound_encode | |
| + 0.46% bound_encode | |
| + 0.46% _denc_friend<bluestore_onode_t const, unsigned long> | |
| + 0.46% denc<std::map<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> >, ceph::buffer::ptr>, denc_traits<std::map<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> >, ceph::buffer::ptr>, void> > | |
| + 0.46% bound_encode<std::pair<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> >, ceph::buffer::ptr> > | |
| + 0.46% pair<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > const, ceph::buffer::ptr, void> | |
| + 0.46% std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> >::basic_string | |
+ 0.91% PrimaryLogPG::calc_trim_to | |
+ 0.91% size | |
+ 0.91% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.91% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 49 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.63% WaitInterval | |
| + 98.63% WaitUntil | |
| + 98.63% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.91% run | |
| + 0.91% PGOpItem::run | |
| + 0.91% OSD::dequeue_op | |
| + 0.91% PrimaryLogPG::do_request | |
| + 0.91% PrimaryLogPG::do_op | |
| + 0.91% PrimaryLogPG::execute_ctx | |
| + 0.46% PrimaryLogPG::prepare_transaction | |
| | + 0.46% PrimaryLogPG::do_osd_ops | |
| | + 0.46% get_val<bool> | |
| | + 0.46% md_config_t::get_val_generic | |
| | + 0.46% Locker | |
| | + 0.46% Mutex::Lock | |
| | + 0.46% pthread_mutex_lock | |
| | + 0.46% _L_lock_870 | |
| | + 0.46% __lll_lock_wait | |
| + 0.46% PrimaryLogPG::issue_repop | |
| + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::queue_transactions | |
| + 0.46% queue_transactions | |
| + 0.46% BlueStore::queue_transactions | |
| + 0.46% BlueStore::_txc_add_transaction | |
| + 0.46% BlueStore::_write | |
| + 0.46% BlueStore::_do_write | |
| + 0.46% BlueStore::_do_write_data | |
| + 0.46% BlueStore::_do_write_small | |
| + 0.46% BlueStore::_buffer_cache_write | |
| + 0.46% write | |
| + 0.46% _add_buffer | |
| + 0.46% operator[] | |
| + 0.46% std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > >, std::_Select1st<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > >, std::less<unsigned int>, mempool::pool_allocator<(mempool::pool_index_t)4, std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<unsigned int const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > >, std::piecewise_construct_t const&, std::tuple<unsigned int const&>&&, std::tuple<>&&) | |
| + 0.46% _M_create_node<const std::piecewise_construct_t&, std::tuple<unsigned int const&>, std::tuple<> > | |
| + 0.46% _M_get_node | |
| + 0.46% allocate | |
| + 0.46% tc_newarray | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 50 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.63% WaitInterval | |
| + 98.63% WaitUntil | |
| + 98.63% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.91% run | |
| + 0.91% PGOpItem::run | |
| + 0.91% OSD::dequeue_op | |
| + 0.91% PrimaryLogPG::do_request | |
| + 0.91% PrimaryLogPG::do_op | |
| + 0.46% hobject_t::~hobject_t | |
| | + 0.46% ~object_t | |
| | + 0.46% ~basic_string | |
| | + 0.46% std::string::_Rep::_M_dispose | |
| + 0.46% PrimaryLogPG::execute_ctx | |
| + 0.46% PrimaryLogPG::calc_trim_to | |
| + 0.46% size | |
| + 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 51 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 96.80% WaitInterval | |
| + 96.80% WaitUntil | |
| + 96.80% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 2.74% run | |
| + 2.74% PGOpItem::run | |
| + 2.74% OSD::dequeue_op | |
| + 2.74% PrimaryLogPG::do_request | |
| + 2.74% PrimaryLogPG::do_op | |
| + 1.83% PrimaryLogPG::execute_ctx | |
| | + 1.37% PrimaryLogPG::issue_repop | |
| | | + 1.37% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | | + 0.91% PrimaryLogPG::log_operation | |
| | | | + 0.91% PG::append_log | |
| | | | + 0.46% PGLog::trim | |
| | | | | + 0.46% PGLog::IndexedLog::trim | |
| | | | | + 0.46% PGLog::IndexedLog::unindex | |
| | | | | + 0.46% erase | |
| | | | | + 0.46% erase | |
| | | | | + 0.46% _M_erase | |
| | | | | + 0.46% std::_Hashtable<osd_reqid_t, std::pair<osd_reqid_t const, pg_log_entry_t*>, std::allocator<std::pair<osd_reqid_t const, pg_log_entry_t*> >, std::__detail::_Select1st, std::equal_to<osd_reqid_t>, std::hash<osd_reqid_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node | |
| | | | + 0.46% PG::write_if_dirty | |
| | | | + 0.46% PGLog::write_log_and_missing | |
| | | | + 0.46% PGLog::_write_log_and_missing | |
| | | | + 0.46% pg_log_entry_t::encode_with_checksum | |
| | | | + 0.46% pg_log_entry_t::encode | |
| | | | + 0.46% encode | |
| | | | + 0.46% hobject_t::encode | |
| | | | + 0.46% encode | |
| | | | + 0.46% encode | |
| | | | + 0.46% encode | |
| | | | + 0.46% encode | |
| | | | + 0.46% encode_raw<ceph_le<unsigned int> > | |
| | | | + 0.46% ceph::buffer::list::append | |
| | | | + 0.46% ceph::buffer::list::append | |
| | | + 0.46% PrimaryLogPG::queue_transactions | |
| | | + 0.46% queue_transactions | |
| | | + 0.46% BlueStore::queue_transactions | |
| | | + 0.46% BlueStore::_txc_add_transaction | |
| | | + 0.46% decode_attrset | |
| | | + 0.46% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | + 0.46% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | + 0.46% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | + 0.46% insert<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | + 0.46% emplace_hint<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | + 0.46% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::ptr>, std::_Select1st<std::pair<std::string const, ceph::buffer::ptr> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >::_M_emplace_hint_unique<std::pair<std::string, ceph::buffer::ptr> >(std::_Rb_tree_const_iterator<std::pair<std::string const, ceph::buffer::ptr> >, std::pair<std::string, ceph::buffer::ptr>&&) | |
| | | + 0.46% _M_create_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | + 0.46% construct<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::ptr> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | + 0.46% _S_construct<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::ptr> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | + 0.46% construct<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::ptr> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | + 0.46% _Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | + 0.46% pair<std::basic_string<char>, ceph::buffer::ptr, void> | |
| | | + 0.46% ceph::buffer::ptr::ptr(ceph::buffer::ptr&&) | |
| | + 0.46% PrimaryLogPG::calc_trim_to | |
| | + 0.46% size | |
| | + 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% OSDService::check_failsafe_full | |
| | + 0.46% OSDService::_check_full | |
| | + 0.46% operator<< | |
| | + 0.46% std::ostream::_M_insert<double> | |
| | + 0.46% put | |
| | + 0.46% std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_float<double> | |
| | + 0.46% std::__convert_from_v | |
| | + 0.46% vsnprintf | |
| | + 0.46% vfprintf | |
| | + 0.46% __printf_fp | |
| | + 0.46% __strlen_sse2 | |
| + 0.46% OSD::init_op_flags | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 52 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 99.54% OSD::ShardedOpWQ::_process | |
| + 97.72% WaitInterval | |
| | + 97.72% WaitUntil | |
| | + 97.72% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 1.83% run | |
| + 1.83% PGOpItem::run | |
| + 1.83% OSD::dequeue_op | |
| + 1.83% PrimaryLogPG::do_request | |
| + 1.83% PrimaryLogPG::do_op | |
| + 1.83% PrimaryLogPG::execute_ctx | |
| + 1.37% PrimaryLogPG::calc_trim_to | |
| | + 1.37% size | |
| | + 1.37% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.37% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% PrimaryLogPG::issue_repop | |
| + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::queue_transactions | |
| + 0.46% queue_transactions | |
| + 0.46% BlueStore::queue_transactions | |
| + 0.46% BlueStore::_txc_add_transaction | |
| + 0.46% BlueStore::_omap_setkeys | |
| + 0.46% RocksDBStore::RocksDBTransactionImpl::set | |
| + 0.46% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| + 0.46% rocksdb::WriteBatch::Put | |
| + 0.46% rocksdb::WriteBatchInternal::Put | |
| + 0.46% PutLengthPrefixedSliceParts | |
| + 0.46% std::string::append | |
| + 0.46% std::string::reserve | |
| + 0.46% std::string::_Rep::_M_clone | |
| + 0.46% std::string::_Rep::_S_create | |
| + 0.46% allocate | |
| + 0.46% tc_new | |
+ 0.46% ceph::HeartbeatMap::reset_timeout | |
Thread: 53 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 96.35% WaitInterval | |
| + 96.35% WaitUntil | |
| + 96.35% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 0.46% __pthread_mutex_cond_lock | |
| + 0.46% _L_cond_lock_789 | |
| + 0.46% __lll_lock_wait | |
+ 3.65% run | |
+ 3.65% PGOpItem::run | |
+ 3.65% OSD::dequeue_op | |
+ 3.65% PrimaryLogPG::do_request | |
+ 3.65% PrimaryLogPG::do_op | |
+ 2.74% PrimaryLogPG::execute_ctx | |
| + 2.28% PrimaryLogPG::calc_trim_to | |
| | + 2.28% size | |
| | + 2.28% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 2.28% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 0.46% operator++ | |
| + 0.46% PrimaryLogPG::prepare_transaction | |
| + 0.46% PrimaryLogPG::do_osd_ops | |
| + 0.46% get_val<bool> | |
| + 0.46% md_config_t::get_val_generic | |
| + 0.46% Locker | |
| + 0.46% Mutex::Lock | |
| + 0.46% pthread_mutex_lock | |
| + 0.46% _L_lock_870 | |
| + 0.46% __lll_lock_wait | |
+ 0.46% std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream | |
| + 0.46% basic_ostream | |
| + 0.46% std::basic_ios<char, std::char_traits<char> >::init | |
| + 0.46% std::basic_ios<char, std::char_traits<char> >::_M_cache_locale | |
| + 0.46% std::has_facet<std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > > | |
| + 0.46% __cxxabiv1::__dynamic_cast | |
+ 0.46% clear_payload | |
+ 0.46% Throttle::put | |
+ 0.46% uniquely_lock<std::mutex&> | |
+ 0.46% unique_lock | |
+ 0.46% lock | |
+ 0.46% lock | |
+ 0.46% __gthread_mutex_lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 54 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.17% WaitInterval | |
| + 98.17% WaitUntil | |
| + 98.17% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 1.37% run | |
| + 1.37% PGOpItem::run | |
| + 1.37% OSD::dequeue_op | |
| + 1.37% PrimaryLogPG::do_request | |
| + 1.37% PrimaryLogPG::do_op | |
| + 1.37% PrimaryLogPG::execute_ctx | |
| + 0.91% PrimaryLogPG::calc_trim_to | |
| | + 0.91% size | |
| | + 0.91% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 0.91% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% PrimaryLogPG::issue_repop | |
| + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::queue_transactions | |
| + 0.46% queue_transactions | |
| + 0.46% BlueStore::queue_transactions | |
| + 0.46% BlueStore::_txc_add_transaction | |
| + 0.46% BlueStore::_write | |
| + 0.46% BlueStore::_do_write | |
| + 0.46% BlueStore::ExtentMap::fault_range | |
| + 0.46% PerfCounters::inc | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 55 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.17% WaitInterval | |
| + 98.17% WaitUntil | |
| + 98.17% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 0.91% __pthread_mutex_cond_lock | |
| + 0.91% _L_cond_lock_789 | |
| + 0.91% __lll_lock_wait | |
+ 1.37% run | |
| + 1.37% PGOpItem::run | |
| + 1.37% OSD::dequeue_op | |
| + 1.37% PrimaryLogPG::do_request | |
| + 1.37% PrimaryLogPG::do_op | |
| + 1.37% PrimaryLogPG::execute_ctx | |
| + 0.91% PrimaryLogPG::issue_repop | |
| | + 0.91% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 0.91% PrimaryLogPG::queue_transactions | |
| | + 0.91% queue_transactions | |
| | + 0.91% BlueStore::queue_transactions | |
| | + 0.91% BlueStore::_txc_add_transaction | |
| | + 0.46% decode_attrset | |
| | | + 0.46% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | + 0.46% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | + 0.46% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | + 0.46% insert<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | + 0.46% emplace_hint<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | + 0.46% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::ptr>, std::_Select1st<std::pair<std::string const, ceph::buffer::ptr> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >::_M_emplace_hint_unique<std::pair<std::string, ceph::buffer::ptr> >(std::_Rb_tree_const_iterator<std::pair<std::string const, ceph::buffer::ptr> >, std::pair<std::string, ceph::buffer::ptr>&&) | |
| | | + 0.46% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::ptr>, std::_Select1st<std::pair<std::string const, ceph::buffer::ptr> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >::_M_get_insert_hint_unique_pos | |
| | + 0.46% BlueStore::_omap_setkeys | |
| | + 0.46% note_modified_object | |
| | + 0.46% insert | |
| | + 0.46% std::_Rb_tree<boost::intrusive_ptr<BlueStore::Onode>, boost::intrusive_ptr<BlueStore::Onode>, std::_Identity<boost::intrusive_ptr<BlueStore::Onode> >, std::less<boost::intrusive_ptr<BlueStore::Onode> >, std::allocator<boost::intrusive_ptr<BlueStore::Onode> > >::_M_insert_unique<boost::intrusive_ptr<BlueStore::Onode> const&> | |
| | + 0.46% _M_get_insert_unique_pos | |
| + 0.46% PrimaryLogPG::calc_trim_to | |
| + 0.46% size | |
| + 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 56 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.17% WaitInterval | |
| + 98.17% WaitUntil | |
| + 98.17% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 1.37% PG::lock | |
| + 1.37% Mutex::Lock | |
| + 1.37% pthread_mutex_lock | |
| + 1.37% _L_lock_812 | |
| + 1.37% __lll_lock_wait | |
+ 0.46% run | |
+ 0.46% PGOpItem::run | |
+ 0.46% OSD::dequeue_op | |
+ 0.46% PrimaryLogPG::do_request | |
+ 0.46% PrimaryLogPG::do_op | |
+ 0.46% PrimaryLogPG::execute_ctx | |
+ 0.46% PrimaryLogPG::issue_repop | |
+ 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
+ 0.46% PrimaryLogPG::queue_transactions | |
+ 0.46% queue_transactions | |
+ 0.46% BlueStore::queue_transactions | |
+ 0.46% BlueStore::_txc_write_nodes | |
+ 0.46% BlueStore::ExtentMap::update | |
+ 0.46% BlueStore::ExtentMap::encode_some | |
Thread: 57 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 97.26% WaitInterval | |
| + 97.26% WaitUntil | |
| + 97.26% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 2.74% run | |
+ 2.74% PGOpItem::run | |
+ 2.74% OSD::dequeue_op | |
+ 2.74% PrimaryLogPG::do_request | |
+ 2.74% PrimaryLogPG::do_op | |
+ 2.74% PrimaryLogPG::execute_ctx | |
+ 1.37% PrimaryLogPG::issue_repop | |
| + 1.37% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.91% PrimaryLogPG::queue_transactions | |
| | + 0.91% queue_transactions | |
| | + 0.91% BlueStore::queue_transactions | |
| | + 0.91% BlueStore::_txc_add_transaction | |
| | + 0.46% decode_attrset | |
| | | + 0.46% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | + 0.46% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | + 0.46% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | + 0.46% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| | | + 0.46% decode | |
| | | + 0.46% decode<std::basic_string<char> > | |
| | | + 0.46% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr>, _denc::has_legacy_denc<ceph::buffer::ptr, void> > | |
| | | + 0.46% decode | |
| | | + 0.46% decode | |
| | | + 0.46% denc<unsigned int, denc_traits<unsigned int, void>, _denc::has_legacy_denc<unsigned int, void> > | |
| | | + 0.46% decode | |
| | | + 0.46% decode | |
| | | + 0.46% ceph::buffer::list::iterator_impl<false>::copy | |
| | + 0.46% BlueStore::_write | |
| | + 0.46% BlueStore::_do_write | |
| | + 0.46% BlueStore::_do_write_data | |
| | + 0.46% BlueStore::_do_write_small | |
| | + 0.46% BlueStore::ExtentMap::set_lextent | |
| | + 0.46% BlueStore::ExtentMap::punch_hole | |
| | + 0.46% BlueStore::ExtentMap::seek_lextent | |
| | + 0.46% operator-- | |
| | + 0.46% prev_node | |
| + 0.46% PrimaryLogPG::log_operation | |
| + 0.46% PG::append_log | |
| + 0.46% PG::write_if_dirty | |
| + 0.46% PGLog::write_log_and_missing | |
| + 0.46% PGLog::_write_log_and_missing | |
| + 0.46% pg_log_entry_t::encode_with_checksum | |
| + 0.46% pg_log_entry_t::encode | |
| + 0.46% encode | |
| + 0.46% ObjectModDesc::encode | |
+ 0.91% PrimaryLogPG::calc_trim_to | |
| + 0.91% size | |
| + 0.91% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.91% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% operator++ | |
+ 0.46% PrimaryLogPG::new_repop | |
+ 0.46% ceph::logging::SubsystemMap::should_gather | |
+ 0.46% size | |
Thread: 58 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 96.80% WaitInterval | |
| + 96.80% WaitUntil | |
| + 96.80% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 0.46% __pthread_mutex_cond_lock | |
| + 0.46% _L_cond_lock_789 | |
| + 0.46% __lll_lock_wait | |
+ 2.74% run | |
| + 2.74% PGOpItem::run | |
| + 2.74% OSD::dequeue_op | |
| + 2.74% PrimaryLogPG::do_request | |
| + 2.74% PrimaryLogPG::do_op | |
| + 2.74% PrimaryLogPG::execute_ctx | |
| + 1.83% PrimaryLogPG::calc_trim_to | |
| | + 1.83% size | |
| | + 1.83% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.83% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.91% PrimaryLogPG::issue_repop | |
| + 0.91% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.91% PrimaryLogPG::queue_transactions | |
| + 0.91% queue_transactions | |
| + 0.91% BlueStore::queue_transactions | |
| + 0.91% BlueStore::_txc_add_transaction | |
| + 0.46% BlueStore::_get_collection | |
| | + 0.46% find | |
| | + 0.46% find | |
| | + 0.46% _M_hash_code | |
| | + 0.46% operator() | |
| | + 0.46% to_str | |
| | + 0.46% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | + 0.46% _S_construct<char const*> | |
| | + 0.46% _S_construct_aux<char const*> | |
| | + 0.46% char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) | |
| | + 0.46% std::string::_Rep::_S_create | |
| | + 0.46% allocate | |
| | + 0.46% tc_new | |
| + 0.46% BlueStore::Collection::get_onode | |
| + 0.46% BlueStore::OnodeSpace::lookup | |
| + 0.46% find | |
| + 0.46% std::_Hashtable<ghobject_t, std::pair<ghobject_t const, boost::intrusive_ptr<BlueStore::Onode> >, mempool::pool_allocator<(mempool::pool_index_t)4, std::pair<ghobject_t const, boost::intrusive_ptr<BlueStore::Onode> > >, std::__detail::_Select1st, std::equal_to<ghobject_t>, std::hash<ghobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::find | |
| + 0.46% _M_find_node | |
| + 0.46% std::_Hashtable<ghobject_t, std::pair<ghobject_t const, boost::intrusive_ptr<BlueStore::Onode> >, mempool::pool_allocator<(mempool::pool_index_t)4, std::pair<ghobject_t const, boost::intrusive_ptr<BlueStore::Onode> > >, std::__detail::_Select1st, std::equal_to<ghobject_t>, std::hash<ghobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node | |
| + 0.46% _M_equals | |
| + 0.46% _S_equals | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 59 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 97.26% WaitInterval | |
| + 97.26% WaitUntil | |
| + 97.26% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 2.28% run | |
| + 2.28% PGOpItem::run | |
| + 2.28% OSD::dequeue_op | |
| + 2.28% PrimaryLogPG::do_request | |
| + 2.28% PrimaryLogPG::do_op | |
| + 2.28% PrimaryLogPG::execute_ctx | |
| + 1.37% PrimaryLogPG::issue_repop | |
| | + 1.37% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 0.91% PrimaryLogPG::queue_transactions | |
| | | + 0.91% queue_transactions | |
| | | + 0.91% BlueStore::queue_transactions | |
| | | + 0.46% BlueStore::_txc_write_nodes | |
| | | | + 0.46% denc<bluestore_onode_t, denc_traits<bluestore_onode_t> > | |
| | | | + 0.46% encode | |
| | | | + 0.46% encode | |
| | | | + 0.46% _denc_friend<bluestore_onode_t const, ceph::buffer::list::contiguous_appender> | |
| | | | + 0.46% denc<std::map<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> >, ceph::buffer::ptr>, denc_traits<std::map<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> >, ceph::buffer::ptr>, void> > | |
| | | | + 0.46% encode<std::pair<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> >, ceph::buffer::ptr> > | |
| | | | + 0.46% encode_nohead<std::pair<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> >, ceph::buffer::ptr> > | |
| | | | + 0.46% denc<std::pair<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> >, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> >, ceph::buffer::ptr>, void> > | |
| | | | + 0.46% encode<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > > | |
| | | | + 0.46% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr> > | |
| | | | + 0.46% encode | |
| | | | + 0.46% append | |
| | | | + 0.46% ceph::buffer::ptr::c_str | |
| | | + 0.46% BlueStore::_txc_add_transaction | |
| | | + 0.46% BlueStore::_write | |
| | | + 0.46% BlueStore::_do_write | |
| | | + 0.46% BlueStore::_do_write_data | |
| | | + 0.46% BlueStore::_do_write_small | |
| | | + 0.46% BlueStore::_buffer_cache_write | |
| | | + 0.46% insert | |
| | | + 0.46% std::_Rb_tree<boost::intrusive_ptr<BlueStore::SharedBlob>, boost::intrusive_ptr<BlueStore::SharedBlob>, std::_Identity<boost::intrusive_ptr<BlueStore::SharedBlob> >, std::less<boost::intrusive_ptr<BlueStore::SharedBlob> >, std::allocator<boost::intrusive_ptr<BlueStore::SharedBlob> > >::_M_insert_unique<boost::intrusive_ptr<BlueStore::SharedBlob> const&> | |
| | | + 0.46% _M_insert_<boost::intrusive_ptr<BlueStore::SharedBlob> const&> | |
| | | + 0.46% _M_create_node<boost::intrusive_ptr<BlueStore::SharedBlob> const&> | |
| | | + 0.46% _M_get_node | |
| | | + 0.46% allocate | |
| | | + 0.46% tc_new | |
| | + 0.46% generate_transaction | |
| | + 0.46% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | + 0.46% operator() | |
| | + 0.46% ObjectStore::Transaction::setattrs | |
| | + 0.46% ObjectStore::Transaction::_get_next_op | |
| | + 0.46% ceph::buffer::ptr::ptr | |
| | + 0.46% ceph::buffer::create | |
| | + 0.46% ceph::buffer::create_aligned | |
| | + 0.46% ceph::buffer::create_aligned_in_mempool | |
| | + 0.46% create | |
| | + 0.46% tc_posix_memalign | |
| | + 0.46% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
| + 0.91% PrimaryLogPG::calc_trim_to | |
| + 0.91% size | |
| + 0.91% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.91% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 60 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 96.80% WaitInterval | |
| + 96.80% WaitUntil | |
| + 96.80% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 0.91% __pthread_mutex_cond_lock | |
| + 0.91% _L_cond_lock_789 | |
| + 0.91% __lll_lock_wait | |
+ 3.20% run | |
+ 3.20% PGOpItem::run | |
+ 3.20% OSD::dequeue_op | |
+ 3.20% PrimaryLogPG::do_request | |
+ 3.20% PrimaryLogPG::do_op | |
+ 2.74% PrimaryLogPG::execute_ctx | |
| + 1.83% PrimaryLogPG::calc_trim_to | |
| | + 1.83% size | |
| | + 1.83% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.83% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 0.46% operator++ | |
| + 0.46% PrimaryLogPG::prepare_transaction | |
| | + 0.46% PrimaryLogPG::finish_ctx | |
| | + 0.46% encode | |
| | + 0.46% object_info_t::encode | |
| | + 0.46% object_locator_t::~object_locator_t | |
| | + 0.46% ~basic_string | |
| | + 0.46% std::string::_Rep::_M_dispose | |
| + 0.46% PrimaryLogPG::issue_repop | |
| + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::queue_transactions | |
| + 0.46% queue_transactions | |
| + 0.46% BlueStore::queue_transactions | |
| + 0.46% BlueStore::_txc_add_transaction | |
| + 0.46% BlueStore::_write | |
| + 0.46% BlueStore::_do_write | |
| + 0.46% BlueStore::ExtentMap::dirty_range | |
| + 0.46% seek_shard | |
+ 0.46% hobject_t::~hobject_t | |
+ 0.46% ~basic_string | |
Thread: 61 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 96.80% WaitInterval | |
| + 96.80% WaitUntil | |
| + 96.80% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 2.74% run | |
| + 2.74% PGOpItem::run | |
| + 2.74% OSD::dequeue_op | |
| + 2.74% PrimaryLogPG::do_request | |
| + 2.74% PrimaryLogPG::do_op | |
| + 2.74% PrimaryLogPG::execute_ctx | |
| + 1.83% PrimaryLogPG::issue_repop | |
| | + 1.83% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 1.37% PrimaryLogPG::queue_transactions | |
| | | + 1.37% queue_transactions | |
| | | + 1.37% BlueStore::queue_transactions | |
| | | + 0.91% BlueStore::_txc_add_transaction | |
| | | | + 0.46% BlueStore::_write | |
| | | | | + 0.46% BlueStore::_do_write | |
| | | | | + 0.46% BlueStore::_do_write_data | |
| | | | | + 0.46% BlueStore::_do_write_small | |
| | | | | + 0.46% BlueStore::ExtentMap::set_lextent | |
| | | | | + 0.46% BlueStore::ExtentMap::punch_hole | |
| | | | | + 0.46% BlueStore::OldExtent::create | |
| | | | | + 0.46% BlueStore::Blob::put_ref | |
| | | | + 0.46% BlueStore::Collection::get_onode | |
| | | | + 0.46% BlueStore::OnodeSpace::lookup | |
| | | | + 0.46% find | |
| | | | + 0.46% std::_Hashtable<ghobject_t, std::pair<ghobject_t const, boost::intrusive_ptr<BlueStore::Onode> >, mempool::pool_allocator<(mempool::pool_index_t)4, std::pair<ghobject_t const, boost::intrusive_ptr<BlueStore::Onode> > >, std::__detail::_Select1st, std::equal_to<ghobject_t>, std::hash<ghobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::find | |
| | | | + 0.46% _M_find_node | |
| | | | + 0.46% std::_Hashtable<ghobject_t, std::pair<ghobject_t const, boost::intrusive_ptr<BlueStore::Onode> >, mempool::pool_allocator<(mempool::pool_index_t)4, std::pair<ghobject_t const, boost::intrusive_ptr<BlueStore::Onode> > >, std::__detail::_Select1st, std::equal_to<ghobject_t>, std::hash<ghobject_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node | |
| | | | + 0.46% _M_equals | |
| | | | + 0.46% _S_equals | |
| | | | + 0.46% operator() | |
| | | | + 0.46% operator== | |
| | | | + 0.46% operator== | |
| | | + 0.46% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.46% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | + 0.46% rocksdb::WriteBatch::Put | |
| | | + 0.46% rocksdb::WriteBatchInternal::Put | |
| | | + 0.46% PutLengthPrefixedSliceParts | |
| | | + 0.46% std::string::append | |
| | | + 0.46% _M_copy | |
| | | + 0.46% copy | |
| | | + 0.46% __memcpy_ssse3 | |
| | + 0.46% PrimaryLogPG::log_operation | |
| | + 0.46% PG::append_log | |
| | + 0.46% PGLog::roll_forward_to | |
| | + 0.46% roll_forward_to | |
| | + 0.46% advance_can_rollback_to<PGLog::IndexedLog::roll_forward_to(eversion_t, PGLog::LogEntryHandler*)::__lambda8> | |
| | + 0.46% operator() | |
| | + 0.46% PG::PGLogEntryHandler::rollforward | |
| | + 0.46% PrimaryLogPG::get_pgbackend | |
| + 0.91% PrimaryLogPG::calc_trim_to | |
| + 0.91% size | |
| + 0.91% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.91% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 62 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 97.72% WaitInterval | |
| + 97.72% WaitUntil | |
| + 97.72% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 1.83% run | |
| + 1.83% PGOpItem::run | |
| + 1.83% OSD::dequeue_op | |
| + 1.83% PrimaryLogPG::do_request | |
| + 1.83% PrimaryLogPG::do_op | |
| + 1.83% PrimaryLogPG::execute_ctx | |
| + 0.91% PrimaryLogPG::issue_repop | |
| | + 0.91% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 0.91% PrimaryLogPG::queue_transactions | |
| | + 0.91% queue_transactions | |
| | + 0.91% BlueStore::queue_transactions | |
| | + 0.91% BlueStore::_txc_add_transaction | |
| | + 0.91% decode_attrset_bl | |
| | + 0.91% decode_str_str_map_to_bl | |
| | + 0.46% ceph::buffer::list::iterator_impl<false>::advance | |
| | + 0.46% ceph::buffer::list::iterator::copy | |
| | + 0.46% ceph::buffer::list::iterator_impl<false>::copy | |
| | + 0.46% ceph::buffer::list::append | |
| | + 0.46% push_back | |
| | + 0.46% push_back | |
| | + 0.46% _M_insert<ceph::buffer::ptr> | |
| | + 0.46% _M_create_node<ceph::buffer::ptr> | |
| | + 0.46% _M_get_node | |
| | + 0.46% allocate | |
| | + 0.46% tc_new | |
| | + 0.46% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | + 0.46% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | + 0.46% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| + 0.91% PrimaryLogPG::calc_trim_to | |
| + 0.91% size | |
| + 0.91% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.91% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 63 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 97.72% WaitInterval | |
| + 97.72% WaitUntil | |
| + 97.72% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 1.83% run | |
| + 1.83% PGOpItem::run | |
| + 1.83% OSD::dequeue_op | |
| + 1.83% PrimaryLogPG::do_request | |
| + 1.83% PrimaryLogPG::do_op | |
| + 1.83% PrimaryLogPG::execute_ctx | |
| + 1.37% PrimaryLogPG::issue_repop | |
| | + 1.37% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 0.91% PrimaryLogPG::queue_transactions | |
| | | + 0.91% queue_transactions | |
| | | + 0.91% BlueStore::queue_transactions | |
| | | + 0.46% BlueStore::_txc_write_nodes | |
| | | | + 0.46% BlueStore::ExtentMap::update | |
| | | | + 0.46% BlueStore::ExtentMap::encode_some | |
| | | | + 0.46% get_contiguous_appender | |
| | | | + 0.46% ceph::buffer::list::contiguous_appender::contiguous_appender | |
| | | | + 0.46% ceph::buffer::create | |
| | | | + 0.46% ceph::buffer::create_aligned | |
| | | | + 0.46% ceph::buffer::create_aligned_in_mempool | |
| | | | + 0.46% create | |
| | | | + 0.46% tc_posix_memalign | |
| | | | + 0.46% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
| | | + 0.46% BlueStore::_txc_add_transaction | |
| | | + 0.46% BlueStore::_write | |
| | | + 0.46% BlueStore::_do_write | |
| | | + 0.46% BlueStore::_do_write_data | |
| | | + 0.46% BlueStore::_do_write_small | |
| | | + 0.46% BlueStore::ExtentMap::set_lextent | |
| | + 0.46% generate_transaction | |
| + 0.46% PrimaryLogPG::calc_trim_to | |
| + 0.46% size | |
| + 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 64 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.54% WaitInterval | |
| + 99.54% WaitUntil | |
| + 99.54% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% run | |
+ 0.46% PGOpItem::run | |
+ 0.46% OSD::dequeue_op | |
+ 0.46% PrimaryLogPG::do_request | |
+ 0.46% PrimaryLogPG::do_op | |
+ 0.46% PrimaryLogPG::execute_ctx | |
+ 0.46% PrimaryLogPG::calc_trim_to | |
+ 0.46% size | |
+ 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 65 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.09% WaitInterval | |
| + 99.09% WaitUntil | |
| + 99.09% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.91% run | |
+ 0.91% PGOpItem::run | |
+ 0.91% OSD::dequeue_op | |
+ 0.91% PrimaryLogPG::do_request | |
+ 0.91% PrimaryLogPG::do_op | |
+ 0.91% PrimaryLogPG::execute_ctx | |
+ 0.91% PrimaryLogPG::issue_repop | |
+ 0.91% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
+ 0.46% generate_transaction | |
| + 0.46% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| + 0.46% operator() | |
| + 0.46% ObjectStore::Transaction::setattrs | |
| + 0.46% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| + 0.46% get_contiguous_appender | |
| + 0.46% ceph::buffer::list::contiguous_appender::contiguous_appender | |
| + 0.46% ceph::buffer::create | |
| + 0.46% ceph::buffer::create_aligned | |
| + 0.46% ceph::buffer::create_aligned_in_mempool | |
| + 0.46% create | |
| + 0.46% tc_posix_memalign | |
| + 0.46% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
+ 0.46% PrimaryLogPG::queue_transactions | |
+ 0.46% queue_transactions | |
+ 0.46% BlueStore::queue_transactions | |
+ 0.46% BlueStore::_txc_write_nodes | |
+ 0.46% BlueStore::ExtentMap::update | |
+ 0.46% BlueStore::ExtentMap::encode_some | |
+ 0.46% get_contiguous_appender | |
+ 0.46% ceph::buffer::list::contiguous_appender::contiguous_appender | |
+ 0.46% ceph::buffer::create | |
+ 0.46% ceph::buffer::create_aligned | |
+ 0.46% ceph::buffer::create_aligned_in_mempool | |
+ 0.46% create | |
+ 0.46% raw_combined | |
Thread: 66 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 97.26% WaitInterval | |
| + 97.26% WaitUntil | |
| + 97.26% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 2.28% run | |
| + 2.28% PGOpItem::run | |
| + 2.28% OSD::dequeue_op | |
| + 2.28% PrimaryLogPG::do_request | |
| + 2.28% PrimaryLogPG::do_op | |
| + 2.28% PrimaryLogPG::execute_ctx | |
| + 1.83% PrimaryLogPG::calc_trim_to | |
| | + 1.83% size | |
| | + 1.83% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.83% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% PrimaryLogPG::issue_repop | |
| + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::log_operation | |
| + 0.46% PG::append_log | |
| + 0.46% PG::write_if_dirty | |
| + 0.46% PG::prepare_write_info | |
| + 0.46% PG::_prepare_write_info | |
| + 0.46% operator== | |
| + 0.46% operator== | |
| + 0.46% operator==<snapid_t, snapid_t, std::less<snapid_t>, std::allocator<std::pair<const snapid_t, snapid_t> > > | |
| + 0.46% operator==<snapid_t, std::pair<const snapid_t, snapid_t>, std::_Select1st<std::pair<const snapid_t, snapid_t> >, std::less<snapid_t>, std::allocator<std::pair<const snapid_t, snapid_t> > > | |
| + 0.46% equal<std::_Rb_tree_const_iterator<std::pair<snapid_t const, snapid_t> >, std::_Rb_tree_const_iterator<std::pair<snapid_t const, snapid_t> > > | |
| + 0.46% __equal_aux<std::_Rb_tree_const_iterator<std::pair<snapid_t const, snapid_t> >, std::_Rb_tree_const_iterator<std::pair<snapid_t const, snapid_t> > > | |
| + 0.46% equal<std::_Rb_tree_const_iterator<std::pair<snapid_t const, snapid_t> >, std::_Rb_tree_const_iterator<std::pair<snapid_t const, snapid_t> > > | |
| + 0.46% operator==<const snapid_t, snapid_t> | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 67 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 94.06% WaitInterval | |
| + 94.06% WaitUntil | |
| + 94.06% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 5.48% run | |
| + 5.48% PGOpItem::run | |
| + 5.48% OSD::dequeue_op | |
| + 5.48% PrimaryLogPG::do_request | |
| + 5.48% PrimaryLogPG::do_op | |
| + 5.02% PrimaryLogPG::execute_ctx | |
| | + 3.20% PrimaryLogPG::calc_trim_to | |
| | | + 3.20% size | |
| | | + 3.20% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | | + 3.20% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.83% PrimaryLogPG::issue_repop | |
| | + 1.83% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 1.83% PrimaryLogPG::queue_transactions | |
| | + 1.83% queue_transactions | |
| | + 1.83% BlueStore::queue_transactions | |
| | + 0.46% Throttle::get_or_fail | |
| | | + 0.46% PerfCounters::inc | |
| | + 0.46% Throttle::get | |
| | | + 0.46% PerfCounters::inc | |
| | + 0.46% BlueStore::_txc_write_nodes | |
| | | + 0.46% BlueStore::ExtentMap::update | |
| | | + 0.46% BlueStore::ExtentMap::encode_some | |
| | | + 0.46% get_contiguous_appender | |
| | | + 0.46% ceph::buffer::list::contiguous_appender::contiguous_appender | |
| | | + 0.46% ceph::buffer::create | |
| | | + 0.46% ceph::buffer::create_aligned | |
| | | + 0.46% ceph::buffer::create_aligned_in_mempool | |
| | | + 0.46% create | |
| | + 0.46% BlueStore::_txc_add_transaction | |
| | + 0.46% BlueStore::_write | |
| | + 0.46% BlueStore::_do_write | |
| | + 0.46% BlueStore::_do_write_data | |
| | + 0.46% BlueStore::_do_write_small | |
| | + 0.46% BlueStore::ExtentMap::seek_lextent | |
| | + 0.46% lower_bound | |
| | + 0.46% lower_bound<BlueStore::Extent, std::less<BlueStore::Extent> > | |
| | + 0.46% lower_bound<BlueStore::Extent, boost::intrusive::detail::key_nodeptr_comp<std::less<BlueStore::Extent>, boost::intrusive::bhtraits<BlueStore::Extent, boost::intrusive::rbtree_node_traits<void*, true>, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity<BlueStore::Extent> > > | |
| | + 0.46% lower_bound_loop<BlueStore::Extent, boost::intrusive::detail::key_nodeptr_comp<std::less<BlueStore::Extent>, boost::intrusive::bhtraits<BlueStore::Extent, boost::intrusive::rbtree_node_traits<void*, true>, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity<BlueStore::Extent> > > | |
| | + 0.46% get_right | |
| + 0.46% tc_new | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 68 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 97.72% WaitInterval | |
| + 97.72% WaitUntil | |
| + 97.72% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 0.46% __pthread_mutex_cond_lock | |
| + 0.46% _L_cond_lock_789 | |
| + 0.46% __lll_lock_wait | |
+ 1.83% run | |
| + 1.83% PGOpItem::run | |
| + 1.83% OSD::dequeue_op | |
| + 1.83% PrimaryLogPG::do_request | |
| + 1.83% PrimaryLogPG::do_op | |
| + 1.83% PrimaryLogPG::execute_ctx | |
| + 1.37% PrimaryLogPG::calc_trim_to | |
| | + 1.37% size | |
| | + 1.37% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.37% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 0.46% operator++ | |
| + 0.46% PrimaryLogPG::issue_repop | |
| + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::queue_transactions | |
| + 0.46% queue_transactions | |
| + 0.46% BlueStore::queue_transactions | |
| + 0.46% BlueStore::_txc_add_transaction | |
| + 0.46% BlueStore::_omap_setkeys | |
| + 0.46% RocksDBStore::RocksDBTransactionImpl::set | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 69 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.17% WaitInterval | |
| + 98.17% WaitUntil | |
| + 98.17% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 1.83% run | |
+ 1.83% PGOpItem::run | |
+ 1.83% OSD::dequeue_op | |
+ 1.83% PrimaryLogPG::do_request | |
+ 1.83% PrimaryLogPG::do_op | |
+ 1.83% PrimaryLogPG::execute_ctx | |
+ 0.91% PrimaryLogPG::issue_repop | |
| + 0.91% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.91% PrimaryLogPG::queue_transactions | |
| + 0.91% queue_transactions | |
| + 0.91% BlueStore::queue_transactions | |
| + 0.91% BlueStore::_txc_state_proc | |
| + 0.46% log_state_latency | |
| | + 0.46% ceph_clock_now | |
| + 0.46% BlueStore::_txc_finish_io | |
| + 0.46% operator-- | |
| + 0.46% get_previous | |
+ 0.91% PrimaryLogPG::calc_trim_to | |
+ 0.91% size | |
+ 0.91% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.91% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% operator++ | |
Thread: 70 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 99.54% WaitInterval | |
| + 99.54% WaitUntil | |
| + 99.54% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 71 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 97.72% WaitInterval | |
| + 97.72% WaitUntil | |
| + 97.72% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 1.83% run | |
| + 1.83% PGOpItem::run | |
| + 1.83% OSD::dequeue_op | |
| + 1.83% PrimaryLogPG::do_request | |
| + 1.83% PrimaryLogPG::do_op | |
| + 1.83% PrimaryLogPG::execute_ctx | |
| + 1.37% PrimaryLogPG::issue_repop | |
| | + 1.37% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 1.37% PrimaryLogPG::queue_transactions | |
| | + 1.37% queue_transactions | |
| | + 1.37% BlueStore::queue_transactions | |
| | + 0.91% BlueStore::_txc_add_transaction | |
| | | + 0.91% BlueStore::_write | |
| | | + 0.91% BlueStore::_do_write | |
| | | + 0.46% BlueStore::ExtentMap::fault_range | |
| | | | + 0.46% seek_shard | |
| | | + 0.46% BlueStore::ExtentMap::compress_extent_map | |
| | | + 0.46% operator++ | |
| | | + 0.46% boost::intrusive::bstree_algorithms_base<boost::intrusive::rbtree_node_traits<void*, true> >::next_node | |
| | | + 0.46% minimum | |
| | + 0.46% BlueStore::_txc_write_nodes | |
| | + 0.46% BlueStore::ExtentMap::update | |
| | + 0.46% BlueStore::ExtentMap::encode_some | |
| | + 0.46% lower_bound | |
| | + 0.46% lower_bound<BlueStore::Extent, std::less<BlueStore::Extent> > | |
| | + 0.46% lower_bound<BlueStore::Extent, boost::intrusive::detail::key_nodeptr_comp<std::less<BlueStore::Extent>, boost::intrusive::bhtraits<BlueStore::Extent, boost::intrusive::rbtree_node_traits<void*, true>, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity<BlueStore::Extent> > > | |
| | + 0.46% lower_bound_loop<BlueStore::Extent, boost::intrusive::detail::key_nodeptr_comp<std::less<BlueStore::Extent>, boost::intrusive::bhtraits<BlueStore::Extent, boost::intrusive::rbtree_node_traits<void*, true>, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>, boost::move_detail::identity<BlueStore::Extent> > > | |
| | + 0.46% get_right | |
| + 0.46% PrimaryLogPG::calc_trim_to | |
| + 0.46% size | |
| + 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 72 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 95.89% WaitInterval | |
| + 95.89% WaitUntil | |
| + 95.89% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 3.65% run | |
| + 3.65% PGOpItem::run | |
| + 3.65% OSD::dequeue_op | |
| + 3.65% PrimaryLogPG::do_request | |
| + 3.65% PrimaryLogPG::do_op | |
| + 3.65% PrimaryLogPG::execute_ctx | |
| + 2.28% PrimaryLogPG::calc_trim_to | |
| | + 2.28% size | |
| | + 2.28% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 2.28% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.91% PrimaryLogPG::issue_repop | |
| | + 0.91% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 0.46% PrimaryLogPG::queue_transactions | |
| | | + 0.46% queue_transactions | |
| | | + 0.46% BlueStore::queue_transactions | |
| | | + 0.46% BlueStore::_txc_state_proc | |
| | | + 0.46% log_state_latency | |
| | | + 0.46% ceph_clock_now | |
| | | + 0.46% clock_gettime | |
| | + 0.46% PrimaryLogPG::log_operation | |
| | + 0.46% PG::append_log | |
| | + 0.46% PG::write_if_dirty | |
| | + 0.46% PG::prepare_write_info | |
| | + 0.46% PG::_prepare_write_info | |
| | + 0.46% encode | |
| | + 0.46% pg_fast_info_t::encode | |
| | + 0.46% encode | |
| | + 0.46% encode_raw<ceph_le<unsigned long long> > | |
| | + 0.46% ceph::buffer::list::append | |
| | + 0.46% ceph::buffer::ptr::append | |
| | + 0.46% ceph::buffer::ptr::unused_tail_length | |
| + 0.46% PrimaryLogPG::new_repop | |
| + 0.46% RepGather | |
| + 0.46% hobject_t::hobject_t | |
| + 0.46% object_t | |
| + 0.46% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| + 0.46% _M_grab | |
| + 0.46% _M_refcopy | |
| + 0.46% __atomic_add_dispatch | |
+ 0.46% Mutex::Unlock | |
+ 0.46% pthread_mutex_unlock | |
+ 0.46% _L_unlock_713 | |
+ 0.46% __lll_unlock_wake | |
Thread: 73 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 97.72% WaitInterval | |
| + 97.72% WaitUntil | |
| + 97.72% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 0.46% __pthread_mutex_cond_lock | |
| + 0.46% _L_cond_lock_789 | |
| + 0.46% __lll_lock_wait | |
+ 1.83% run | |
| + 1.83% PGOpItem::run | |
| + 1.83% OSD::dequeue_op | |
| + 1.83% PrimaryLogPG::do_request | |
| + 1.83% PrimaryLogPG::do_op | |
| + 1.83% PrimaryLogPG::execute_ctx | |
| + 1.37% PrimaryLogPG::issue_repop | |
| | + 1.37% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 0.91% PrimaryLogPG::log_operation | |
| | | + 0.91% PG::append_log | |
| | | + 0.46% ~shared_ptr | |
| | | | + 0.46% ~__shared_ptr | |
| | | | + 0.46% ~__shared_count | |
| | | | + 0.46% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release | |
| | | + 0.46% PGLog::trim | |
| | | + 0.46% PGLog::IndexedLog::trim | |
| | | + 0.46% pop_front | |
| | | + 0.46% _M_erase | |
| | | + 0.46% destroy | |
| | | + 0.46% ~_List_node | |
| | | + 0.46% ~pg_log_entry_t | |
| | | + 0.46% ~list | |
| | | + 0.46% ~ptr | |
| | | + 0.46% ceph::buffer::ptr::release | |
| | + 0.46% PrimaryLogPG::queue_transactions | |
| | + 0.46% queue_transactions | |
| | + 0.46% BlueStore::queue_transactions | |
| | + 0.46% BlueStore::_txc_state_proc | |
| | + 0.46% BlueStore::_txc_finish_io | |
| | + 0.46% BlueStore::_txc_state_proc | |
| | + 0.46% push_back | |
| | + 0.46% construct<BlueStore::TransContext*, BlueStore::TransContext* const&> | |
| + 0.46% PrimaryLogPG::calc_trim_to | |
| + 0.46% size | |
| + 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 74 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 95.89% WaitInterval | |
| + 95.89% WaitUntil | |
| + 95.89% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 3.65% run | |
| + 3.65% PGOpItem::run | |
| + 3.65% OSD::dequeue_op | |
| + 3.65% PrimaryLogPG::do_request | |
| + 3.65% PrimaryLogPG::do_op | |
| + 3.20% PrimaryLogPG::execute_ctx | |
| | + 1.83% PrimaryLogPG::issue_repop | |
| | | + 1.83% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | | + 0.91% PrimaryLogPG::queue_transactions | |
| | | | + 0.91% queue_transactions | |
| | | | + 0.91% BlueStore::queue_transactions | |
| | | | + 0.46% BlueStore::_txc_write_nodes | |
| | | | | + 0.46% BlueStore::ExtentMap::update | |
| | | | | + 0.46% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | | + 0.46% operator() | |
| | | | | + 0.46% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.46% combine_strings | |
| | | | | + 0.46% std::string::append | |
| | | | | + 0.46% std::string::reserve | |
| | | | | + 0.46% _M_dispose | |
| | | | + 0.46% BlueStore::_txc_add_transaction | |
| | | | + 0.46% BlueStore::_setattrs | |
| | | | + 0.46% ceph::buffer::ptr::reassign_to_mempool | |
| | | | + 0.46% reassign_to_mempool | |
| | | + 0.91% PrimaryLogPG::log_operation | |
| | | + 0.91% PG::append_log | |
| | | + 0.91% PG::write_if_dirty | |
| | | + 0.46% ~map | |
| | | + 0.46% ~_Rb_tree | |
| | | + 0.46% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| | | + 0.46% _M_destroy_node | |
| | | + 0.46% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
| | | + 0.46% ~_Rb_tree_node | |
| | | + 0.46% ~pair | |
| | | + 0.46% ~basic_string | |
| | | + 0.46% tc_delete | |
| | + 1.37% PrimaryLogPG::calc_trim_to | |
| | + 1.37% size | |
| | + 1.37% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.37% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% finish_decode | |
| + 0.46% decode | |
| + 0.46% decode | |
| + 0.46% decode | |
| + 0.46% ceph::buffer::list::iterator::copy | |
| + 0.46% ceph::buffer::list::iterator_impl<false>::copy | |
| + 0.46% std::string::append | |
| + 0.46% std::string::reserve | |
| + 0.46% std::string::_Rep::_M_clone | |
| + 0.46% std::string::_Rep::_S_create | |
| + 0.46% allocate | |
| + 0.46% tc_new | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 75 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 95.89% WaitInterval | |
| + 95.89% WaitUntil | |
| + 95.89% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 3.65% run | |
| + 3.65% PGOpItem::run | |
| + 3.65% OSD::dequeue_op | |
| + 3.65% PrimaryLogPG::do_request | |
| + 3.65% PrimaryLogPG::do_op | |
| + 3.65% PrimaryLogPG::execute_ctx | |
| + 3.20% PrimaryLogPG::calc_trim_to | |
| | + 3.20% size | |
| | + 3.20% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 3.20% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% PrimaryLogPG::issue_repop | |
| + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::queue_transactions | |
| + 0.46% queue_transactions | |
| + 0.46% BlueStore::queue_transactions | |
| + 0.46% BlueStore::_txc_add_transaction | |
| + 0.46% BlueStore::_omap_setkeys | |
| + 0.46% RocksDBStore::RocksDBTransactionImpl::set | |
| + 0.46% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| + 0.46% rocksdb::WriteBatch::Put | |
| + 0.46% rocksdb::WriteBatchInternal::Put | |
| + 0.46% PutLengthPrefixedSliceParts | |
| + 0.46% std::string::append | |
| + 0.46% _M_disjunct | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 76 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 97.72% WaitInterval | |
| + 97.72% WaitUntil | |
| + 97.72% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 0.46% __pthread_mutex_cond_lock | |
| + 0.46% _L_cond_lock_789 | |
| + 0.46% __lll_lock_wait | |
+ 1.37% PG::lock | |
| + 1.37% Mutex::Lock | |
| + 1.37% pthread_mutex_lock | |
| + 1.37% _L_lock_812 | |
| + 1.37% __lll_lock_wait | |
+ 0.91% run | |
+ 0.91% PGOpItem::run | |
+ 0.91% OSD::dequeue_op | |
+ 0.91% PrimaryLogPG::do_request | |
+ 0.91% PrimaryLogPG::do_op | |
+ 0.91% PrimaryLogPG::execute_ctx | |
+ 0.91% PrimaryLogPG::calc_trim_to | |
+ 0.91% size | |
+ 0.91% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.91% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 77 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.63% WaitInterval | |
| + 98.63% WaitUntil | |
| + 98.63% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 1.37% run | |
+ 1.37% PGOpItem::run | |
+ 1.37% OSD::dequeue_op | |
+ 1.37% PrimaryLogPG::do_request | |
+ 1.37% PrimaryLogPG::do_op | |
+ 1.37% PrimaryLogPG::execute_ctx | |
+ 0.91% PrimaryLogPG::calc_trim_to | |
| + 0.91% size | |
| + 0.91% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.91% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PrimaryLogPG::issue_repop | |
+ 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
+ 0.46% insert<std::_Rb_tree_const_iterator<pg_shard_t> > | |
+ 0.46% std::_Rb_tree<pg_shard_t, pg_shard_t, std::_Identity<pg_shard_t>, std::less<pg_shard_t>, std::allocator<pg_shard_t> >::_M_insert_unique<std::_Rb_tree_const_iterator<pg_shard_t> > | |
+ 0.46% _M_insert_unique_<pg_shard_t const&> | |
+ 0.46% std::_Rb_tree<pg_shard_t, pg_shard_t, std::_Identity<pg_shard_t>, std::less<pg_shard_t>, std::allocator<pg_shard_t> >::_M_insert_<pg_shard_t const&> | |
+ 0.46% _M_create_node<pg_shard_t const&> | |
+ 0.46% _M_get_node | |
+ 0.46% allocate | |
+ 0.46% tc_new | |
+ 0.46% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
+ 0.46% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
+ 0.46% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
Thread: 78 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.63% WaitInterval | |
| + 98.63% WaitUntil | |
| + 98.63% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 0.91% run | |
| + 0.91% PGOpItem::run | |
| + 0.91% OSD::dequeue_op | |
| + 0.91% PrimaryLogPG::do_request | |
| + 0.91% PrimaryLogPG::do_op | |
| + 0.91% PrimaryLogPG::execute_ctx | |
| + 0.46% PrimaryLogPG::issue_repop | |
| | + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 0.46% PrimaryLogPG::queue_transactions | |
| | + 0.46% queue_transactions | |
| | + 0.46% BlueStore::queue_transactions | |
| | + 0.46% BlueStore::_txc_add_transaction | |
| | + 0.46% vector | |
| | + 0.46% _Vector_base | |
| | + 0.46% _M_create_storage | |
| | + 0.46% _M_allocate | |
| | + 0.46% allocate | |
| | + 0.46% tc_new | |
| + 0.46% PrimaryLogPG::calc_trim_to | |
| + 0.46% size | |
| + 0.46% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 79 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 97.72% WaitInterval | |
| + 97.72% WaitUntil | |
| + 97.72% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 1.37% run | |
| + 1.37% PGOpItem::run | |
| + 1.37% OSD::dequeue_op | |
| + 1.37% PrimaryLogPG::do_request | |
| + 1.37% PrimaryLogPG::do_op | |
| + 1.37% PrimaryLogPG::execute_ctx | |
| + 0.91% PrimaryLogPG::calc_trim_to | |
| | + 0.91% size | |
| | + 0.91% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 0.91% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% PrimaryLogPG::issue_repop | |
| + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::queue_transactions | |
| + 0.46% queue_transactions | |
| + 0.46% BlueStore::queue_transactions | |
| + 0.46% BlueStore::_txc_add_transaction | |
| + 0.46% decode_attrset | |
| + 0.46% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| + 0.46% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| + 0.46% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| + 0.46% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| + 0.46% decode | |
| + 0.46% decode<std::basic_string<char> > | |
| + 0.46% denc<std::basic_string<char>, denc_traits<std::basic_string<char>, void>, _denc::has_legacy_denc<std::basic_string<char>, void> > | |
| + 0.46% decode | |
| + 0.46% decode | |
| + 0.46% ceph::buffer::list::iterator::copy | |
| + 0.46% ceph::buffer::list::iterator_impl<false>::copy | |
| + 0.46% std::string::append | |
| + 0.46% _ZNSs7reserveEm@plt | |
+ 0.91% PG::lock | |
+ 0.91% Mutex::Lock | |
+ 0.91% pthread_mutex_lock | |
+ 0.91% _L_lock_812 | |
+ 0.91% __lll_lock_wait | |
Thread: 80 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 96.80% WaitInterval | |
| + 96.80% WaitUntil | |
| + 96.80% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 2.74% run | |
| + 2.74% PGOpItem::run | |
| + 2.74% OSD::dequeue_op | |
| + 2.74% PrimaryLogPG::do_request | |
| + 2.74% PrimaryLogPG::do_op | |
| + 2.74% PrimaryLogPG::execute_ctx | |
| + 1.37% PrimaryLogPG::issue_repop | |
| | + 1.37% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 0.91% PrimaryLogPG::queue_transactions | |
| | | + 0.91% queue_transactions | |
| | | + 0.91% BlueStore::queue_transactions | |
| | | + 0.46% BlueStore::_txc_write_nodes | |
| | | | + 0.46% BlueStore::ExtentMap::update | |
| | | + 0.46% BlueStore::_txc_add_transaction | |
| | | + 0.46% ~ghobject_t | |
| | | + 0.46% hobject_t::~hobject_t | |
| | | + 0.46% ~object_t | |
| | | + 0.46% ~basic_string | |
| | | + 0.46% std::string::_Rep::_M_dispose | |
| | + 0.46% generate_transaction | |
| | + 0.46% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | + 0.46% operator() | |
| | + 0.46% operator= | |
| | + 0.46% make_shareable | |
| | + 0.46% ceph::buffer::ptr::make_shareable | |
| | + 0.46% ceph::buffer::raw::is_shareable | |
| + 1.37% PrimaryLogPG::calc_trim_to | |
| + 1.37% size | |
| + 1.37% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 1.37% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 81 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 97.26% WaitInterval | |
| + 97.26% WaitUntil | |
| + 97.26% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 2.28% run | |
| + 2.28% PGOpItem::run | |
| + 2.28% OSD::dequeue_op | |
| + 2.28% PrimaryLogPG::do_request | |
| + 2.28% PrimaryLogPG::do_op | |
| + 2.28% PrimaryLogPG::execute_ctx | |
| + 1.37% PrimaryLogPG::calc_trim_to | |
| | + 1.37% size | |
| | + 1.37% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.37% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.91% PrimaryLogPG::issue_repop | |
| + 0.91% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::queue_transactions | |
| | + 0.46% queue_transactions | |
| | + 0.46% BlueStore::queue_transactions | |
| | + 0.46% RocksDBStore::RocksDBTransactionImpl::set | |
| | + 0.46% get_cf_handle | |
| | + 0.46% find | |
| | + 0.46% std::_Hashtable<std::string, std::pair<std::string const, void*>, std::allocator<std::pair<std::string const, void*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::find | |
| | + 0.46% _M_find_node | |
| | + 0.46% std::_Hashtable<std::string, std::pair<std::string const, void*>, std::allocator<std::pair<std::string const, void*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node | |
| | + 0.46% _M_equals | |
| | + 0.46% _S_equals | |
| | + 0.46% operator() | |
| | + 0.46% operator==<char> | |
| | + 0.46% compare | |
| + 0.46% PrimaryLogPG::log_operation | |
| + 0.46% PG::append_log | |
| + 0.46% PGLog::IndexedLog::trim | |
| + 0.46% pop_front | |
| + 0.46% _M_erase | |
| + 0.46% _M_put_node | |
| + 0.46% deallocate | |
| + 0.46% tc_deletearray | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 82 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 95.89% WaitInterval | |
| + 95.89% WaitUntil | |
| + 95.89% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 3.20% run | |
| + 3.20% PGOpItem::run | |
| + 3.20% OSD::dequeue_op | |
| + 3.20% PrimaryLogPG::do_request | |
| + 3.20% PrimaryLogPG::do_op | |
| + 2.74% PrimaryLogPG::execute_ctx | |
| | + 1.83% PrimaryLogPG::issue_repop | |
| | | + 1.83% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | | + 1.83% PrimaryLogPG::queue_transactions | |
| | | + 1.83% queue_transactions | |
| | | + 1.83% BlueStore::queue_transactions | |
| | | + 1.37% BlueStore::_txc_add_transaction | |
| | | | + 0.91% BlueStore::_write | |
| | | | | + 0.91% BlueStore::_do_write | |
| | | | | + 0.46% BlueStore::_do_write_data | |
| | | | | | + 0.46% BlueStore::_do_write_small | |
| | | | | | + 0.46% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | | | | | + 0.46% operator() | |
| | | | | + 0.46% BlueStore::ExtentMap::fault_range | |
| | | | | + 0.46% seek_shard | |
| | | | + 0.46% begin | |
| | | | + 0.46% iterator | |
| | | | + 0.46% ceph::buffer::list::get_contiguous | |
| | | | + 0.46% ceph::buffer::list::rebuild | |
| | | | + 0.46% ceph::buffer::create | |
| | | | + 0.46% ceph::buffer::create_aligned | |
| | | | + 0.46% ceph::buffer::create_aligned_in_mempool | |
| | | | + 0.46% create | |
| | | | + 0.46% tc_posix_memalign | |
| | | + 0.46% BlueStore::_txc_write_nodes | |
| | | + 0.46% BlueStore::ExtentMap::update | |
| | | + 0.46% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | + 0.46% operator() | |
| | | + 0.46% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.46% get_cf_handle | |
| | | + 0.46% find | |
| | | + 0.46% std::_Hashtable<std::string, std::pair<std::string const, void*>, std::allocator<std::pair<std::string const, void*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::find | |
| | | + 0.46% _M_bucket_index | |
| | | + 0.46% _M_bucket_index | |
| | | + 0.46% operator() | |
| | + 0.91% PrimaryLogPG::calc_trim_to | |
| | + 0.91% size | |
| | + 0.91% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 0.91% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% OSDService::check_failsafe_full | |
| + 0.46% OSDService::_check_full | |
| + 0.46% Locker | |
| + 0.46% Mutex::Lock | |
| + 0.46% pthread_mutex_lock | |
| + 0.46% _L_lock_812 | |
| + 0.46% __lll_lock_wait | |
+ 0.91% PG::lock | |
+ 0.91% Mutex::Lock | |
+ 0.91% pthread_mutex_lock | |
+ 0.91% _L_lock_812 | |
+ 0.91% __lll_lock_wait | |
Thread: 83 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 96.35% WaitInterval | |
| + 96.35% WaitUntil | |
| + 96.35% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 3.65% run | |
+ 3.65% PGOpItem::run | |
+ 3.65% OSD::dequeue_op | |
+ 3.65% PrimaryLogPG::do_request | |
+ 3.65% PrimaryLogPG::do_op | |
+ 3.65% PrimaryLogPG::execute_ctx | |
+ 2.74% PrimaryLogPG::calc_trim_to | |
| + 2.74% size | |
| + 2.74% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 2.74% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% PrimaryLogPG::prepare_transaction | |
| + 0.46% PrimaryLogPG::finish_ctx | |
| + 0.46% encode | |
| + 0.46% object_info_t::encode | |
| + 0.46% object_locator_t::~object_locator_t | |
| + 0.46% ~basic_string | |
| + 0.46% std::string::_Rep::_M_dispose | |
+ 0.46% PrimaryLogPG::issue_repop | |
+ 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
+ 0.46% PrimaryLogPG::queue_transactions | |
+ 0.46% queue_transactions | |
+ 0.46% BlueStore::queue_transactions | |
+ 0.46% BlueStore::_txc_add_transaction | |
+ 0.46% decode_attrset_bl | |
+ 0.46% decode_str_str_map_to_bl | |
+ 0.46% ceph::buffer::list::iterator::copy | |
+ 0.46% ceph::buffer::list::iterator_impl<false>::copy | |
+ 0.46% ceph::buffer::list::append | |
+ 0.46% push_back | |
+ 0.46% push_back | |
+ 0.46% _M_insert<ceph::buffer::ptr> | |
+ 0.46% _M_create_node<ceph::buffer::ptr> | |
+ 0.46% _M_get_node | |
+ 0.46% allocate | |
+ 0.46% tc_new | |
Thread: 84 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 95.89% WaitInterval | |
| + 95.89% WaitUntil | |
| + 95.89% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 4.11% run | |
+ 4.11% PGOpItem::run | |
+ 4.11% OSD::dequeue_op | |
+ 4.11% PrimaryLogPG::do_request | |
+ 4.11% PrimaryLogPG::do_op | |
+ 4.11% PrimaryLogPG::execute_ctx | |
+ 2.28% PrimaryLogPG::issue_repop | |
| + 2.28% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 1.37% PrimaryLogPG::log_operation | |
| | + 1.37% PG::append_log | |
| | + 0.46% operator> | |
| | | + 0.46% cmp | |
| | + 0.46% PG::write_if_dirty | |
| | | + 0.46% PGLog::write_log_and_missing | |
| | | + 0.46% PGLog::_write_log_and_missing | |
| | | + 0.46% pg_log_entry_t::get_key_name | |
| | | + 0.46% eversion_t::get_key_name | |
| | | + 0.46% resize | |
| | | + 0.46% std::string::resize | |
| | | + 0.46% size | |
| | + 0.46% PG::add_log_entry | |
| | + 0.46% add | |
| | + 0.46% PGLog::IndexedLog::add | |
| | + 0.46% push_back | |
| | + 0.46% _M_insert<pg_log_entry_t const&> | |
| | + 0.46% _M_create_node<pg_log_entry_t const&> | |
| | + 0.46% construct<std::_List_node<pg_log_entry_t>, pg_log_entry_t const&> | |
| | + 0.46% _List_node<pg_log_entry_t const&> | |
| | + 0.46% pg_log_entry_t::pg_log_entry_t | |
| + 0.46% push_back | |
| | + 0.46% std::vector<ObjectStore::Transaction, std::allocator<ObjectStore::Transaction> >::emplace_back<ObjectStore::Transaction>(ObjectStore::Transaction&&) | |
| | + 0.46% std::vector<ObjectStore::Transaction, std::allocator<ObjectStore::Transaction> >::_M_emplace_back_aux<ObjectStore::Transaction>(ObjectStore::Transaction&&) | |
| + 0.46% PrimaryLogPG::queue_transactions | |
| + 0.46% queue_transactions | |
| + 0.46% BlueStore::queue_transactions | |
| + 0.46% BlueStore::_txc_add_transaction | |
| + 0.46% BlueStore::_setattrs | |
| + 0.46% write_onode | |
| + 0.46% insert | |
| + 0.46% std::_Rb_tree<boost::intrusive_ptr<BlueStore::Onode>, boost::intrusive_ptr<BlueStore::Onode>, std::_Identity<boost::intrusive_ptr<BlueStore::Onode> >, std::less<boost::intrusive_ptr<BlueStore::Onode> >, std::allocator<boost::intrusive_ptr<BlueStore::Onode> > >::_M_insert_unique<boost::intrusive_ptr<BlueStore::Onode> const&> | |
| + 0.46% _M_insert_<boost::intrusive_ptr<BlueStore::Onode> const&> | |
| + 0.46% _M_create_node<boost::intrusive_ptr<BlueStore::Onode> const&> | |
| + 0.46% _M_get_node | |
| + 0.46% allocate | |
+ 1.83% PrimaryLogPG::calc_trim_to | |
+ 1.83% size | |
+ 1.83% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 1.83% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 85 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 94.98% WaitInterval | |
| + 94.98% WaitUntil | |
| + 94.98% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 3.65% run | |
| + 3.65% PGOpItem::run | |
| + 3.65% OSD::dequeue_op | |
| + 3.65% PrimaryLogPG::do_request | |
| + 3.65% PrimaryLogPG::do_op | |
| + 3.65% PrimaryLogPG::execute_ctx | |
| + 2.28% PrimaryLogPG::calc_trim_to | |
| | + 2.28% size | |
| | + 2.28% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 2.28% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.91% PrimaryLogPG::issue_repop | |
| | + 0.91% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 0.91% PrimaryLogPG::queue_transactions | |
| | + 0.91% queue_transactions | |
| | + 0.91% BlueStore::queue_transactions | |
| | + 0.91% BlueStore::_txc_add_transaction | |
| | + 0.91% decode_attrset | |
| | + 0.91% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | + 0.91% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | + 0.91% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | + 0.46% insert<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | + 0.46% emplace_hint<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | + 0.46% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::ptr>, std::_Select1st<std::pair<std::string const, ceph::buffer::ptr> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >::_M_emplace_hint_unique<std::pair<std::string, ceph::buffer::ptr> >(std::_Rb_tree_const_iterator<std::pair<std::string const, ceph::buffer::ptr> >, std::pair<std::string, ceph::buffer::ptr>&&) | |
| | | + 0.46% _M_create_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | + 0.46% _M_get_node | |
| | | + 0.46% allocate | |
| | | + 0.46% tc_new | |
| | + 0.46% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| | + 0.46% decode | |
| | + 0.46% decode<std::basic_string<char> > | |
| | + 0.46% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr>, _denc::has_legacy_denc<ceph::buffer::ptr, void> > | |
| | + 0.46% decode | |
| | + 0.46% decode | |
| | + 0.46% ceph::buffer::list::iterator::copy | |
| | + 0.46% ceph::buffer::list::iterator_impl<false>::copy | |
| + 0.46% PrimaryLogPG::prepare_transaction | |
| + 0.46% PrimaryLogPG::do_osd_ops | |
| + 0.46% get_val<bool> | |
| + 0.46% md_config_t::get_val_generic | |
| + 0.46% Locker | |
| + 0.46% Mutex::Lock | |
| + 0.46% pthread_mutex_lock | |
| + 0.46% _L_lock_870 | |
| + 0.46% __lll_lock_wait | |
+ 0.91% PG::lock | |
| + 0.91% Mutex::Lock | |
| + 0.91% pthread_mutex_lock | |
| + 0.91% _L_lock_812 | |
| + 0.91% __lll_lock_wait | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 86 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 98.63% WaitInterval | |
| + 98.63% WaitUntil | |
| + 98.63% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 1.37% run | |
+ 1.37% PGOpItem::run | |
+ 1.37% OSD::dequeue_op | |
+ 1.37% PrimaryLogPG::do_request | |
+ 1.37% PrimaryLogPG::do_op | |
+ 1.37% PrimaryLogPG::execute_ctx | |
+ 0.91% PrimaryLogPG::calc_trim_to | |
| + 0.91% size | |
| + 0.91% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.91% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% operator++ | |
+ 0.46% PrimaryLogPG::issue_repop | |
+ 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
+ 0.46% PrimaryLogPG::queue_transactions | |
+ 0.46% queue_transactions | |
+ 0.46% BlueStore::queue_transactions | |
+ 0.46% BlueStore::_txc_add_transaction | |
+ 0.46% BlueStore::_setattrs | |
+ 0.46% operator[] | |
+ 0.46% lower_bound | |
+ 0.46% lower_bound | |
+ 0.46% std::_Rb_tree<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> >, std::pair<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > const, ceph::buffer::ptr>, std::_Select1st<std::pair<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > const, ceph::buffer::ptr> >, std::less<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > const, ceph::buffer::ptr> > >::_M_lower_bound | |
+ 0.46% operator() | |
+ 0.46% operator< <char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4u, char> > | |
+ 0.46% compare | |
+ 0.46% size | |
Thread: 87 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 96.35% WaitInterval | |
| + 96.35% WaitUntil | |
| + 96.35% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 3.20% run | |
| + 3.20% PGOpItem::run | |
| + 3.20% OSD::dequeue_op | |
| + 3.20% PrimaryLogPG::do_request | |
| + 3.20% PrimaryLogPG::do_op | |
| + 3.20% PrimaryLogPG::execute_ctx | |
| + 1.37% PrimaryLogPG::issue_repop | |
| | + 1.37% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 0.91% PrimaryLogPG::queue_transactions | |
| | | + 0.91% queue_transactions | |
| | | + 0.91% BlueStore::queue_transactions | |
| | | + 0.46% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.46% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | + 0.46% rocksdb::WriteBatch::Put | |
| | | | + 0.46% rocksdb::WriteBatchInternal::Put | |
| | | + 0.46% BlueStore::_txc_add_transaction | |
| | | + 0.46% BlueStore::_setattrs | |
| | | + 0.46% operator[] | |
| | | + 0.46% lower_bound | |
| | | + 0.46% lower_bound | |
| | | + 0.46% std::_Rb_tree<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> >, std::pair<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > const, ceph::buffer::ptr>, std::_Select1st<std::pair<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > const, ceph::buffer::ptr> >, std::less<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > const, ceph::buffer::ptr> > >::_M_lower_bound | |
| | | + 0.46% operator() | |
| | | + 0.46% operator< <char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4u, char> > | |
| | | + 0.46% compare | |
| | | + 0.46% compare | |
| | + 0.46% generate_transaction | |
| | + 0.46% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | + 0.46% operator() | |
| | + 0.46% ObjectStore::Transaction::setattrs | |
| | + 0.46% ObjectStore::Transaction::_get_next_op | |
| | + 0.46% ceph::buffer::ptr::ptr | |
| | + 0.46% ceph::buffer::create | |
| | + 0.46% ceph::buffer::create_aligned | |
| | + 0.46% ceph::buffer::create_aligned_in_mempool | |
| | + 0.46% create | |
| | + 0.46% raw_combined | |
| | + 0.46% raw | |
| | + 0.46% mempool::pool_t::adjust_count | |
| | + 0.46% operator+= | |
| + 1.37% PrimaryLogPG::calc_trim_to | |
| | + 1.37% size | |
| | + 1.37% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.37% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 0.46% operator++ | |
| + 0.46% PrimaryLogPG::prepare_transaction | |
| + 0.46% PrimaryLogPG::do_osd_ops | |
| + 0.46% get_val<bool> | |
| + 0.46% md_config_t::get_val_generic | |
| + 0.46% Locker | |
| + 0.46% Mutex::Lock | |
| + 0.46% pthread_mutex_lock | |
| + 0.46% _L_lock_870 | |
| + 0.46% __lll_lock_wait | |
+ 0.46% PG::lock | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 88 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 95.89% WaitInterval | |
| + 95.89% WaitUntil | |
| + 95.89% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 4.11% run | |
+ 4.11% PGOpItem::run | |
+ 4.11% OSD::dequeue_op | |
+ 4.11% PrimaryLogPG::do_request | |
+ 4.11% PrimaryLogPG::do_op | |
+ 3.65% PrimaryLogPG::execute_ctx | |
| + 1.83% PrimaryLogPG::issue_repop | |
| | + 1.83% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 0.91% PrimaryLogPG::queue_transactions | |
| | | + 0.91% queue_transactions | |
| | | + 0.91% BlueStore::queue_transactions | |
| | | + 0.46% BlueStore::_txc_write_nodes | |
| | | | + 0.46% BlueStore::ExtentMap::update | |
| | | | + 0.46% BlueStore::ExtentMap::encode_some | |
| | | | + 0.46% get_contiguous_appender | |
| | | | + 0.46% ceph::buffer::list::contiguous_appender::contiguous_appender | |
| | | + 0.46% BlueStore::_txc_add_transaction | |
| | | + 0.46% decode_bl | |
| | | + 0.46% decode | |
| | | + 0.46% ceph::buffer::list::iterator::copy | |
| | | + 0.46% ceph::buffer::list::iterator_impl<false>::copy | |
| | | + 0.46% ceph::buffer::list::append | |
| | | + 0.46% push_back | |
| | | + 0.46% push_back | |
| | | + 0.46% _M_insert<ceph::buffer::ptr> | |
| | | + 0.46% _M_create_node<ceph::buffer::ptr> | |
| | | + 0.46% construct<std::_List_node<ceph::buffer::ptr>, ceph::buffer::ptr> | |
| | + 0.91% PrimaryLogPG::log_operation | |
| | + 0.91% PG::append_log | |
| | + 0.46% PGLog::IndexedLog::trim | |
| | | + 0.46% pop_front | |
| | | + 0.46% _M_erase | |
| | | + 0.46% _M_put_node | |
| | | + 0.46% deallocate | |
| | | + 0.46% operator-= | |
| | + 0.46% PG::write_if_dirty | |
| | + 0.46% PG::prepare_write_info | |
| | + 0.46% PG::_prepare_write_info | |
| | + 0.46% encode | |
| | + 0.46% pg_fast_info_t::encode | |
| | + 0.46% encode | |
| | + 0.46% encode_raw<unsigned char> | |
| | + 0.46% ceph::buffer::list::append | |
| | + 0.46% create | |
| | + 0.46% raw_combined | |
| | + 0.46% raw | |
| | + 0.46% mempool::pool_t::adjust_count | |
| + 1.83% PrimaryLogPG::calc_trim_to | |
| + 1.83% size | |
| + 1.83% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 1.83% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.46% std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream | |
+ 0.46% basic_ostream | |
+ 0.46% std::basic_ios<char, std::char_traits<char> >::init | |
+ 0.46% std::basic_ios<char, std::char_traits<char> >::_M_cache_locale | |
+ 0.46% std::has_facet<std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > > > | |
Thread: 89 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 97.72% WaitInterval | |
| + 97.72% WaitUntil | |
| + 97.72% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 0.46% __pthread_mutex_cond_lock | |
| + 0.46% _L_cond_lock_789 | |
| + 0.46% __lll_lock_wait | |
+ 2.28% run | |
+ 2.28% PGOpItem::run | |
+ 2.28% OSD::dequeue_op | |
+ 2.28% PrimaryLogPG::do_request | |
+ 2.28% PrimaryLogPG::do_op | |
+ 2.28% PrimaryLogPG::execute_ctx | |
+ 1.37% PrimaryLogPG::calc_trim_to | |
| + 1.37% size | |
| + 1.37% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 1.37% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.91% PrimaryLogPG::issue_repop | |
+ 0.91% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
+ 0.46% PrimaryLogPG::queue_transactions | |
| + 0.46% queue_transactions | |
| + 0.46% BlueStore::queue_transactions | |
| + 0.46% BlueStore::_txc_add_transaction | |
| + 0.46% BlueStore::_omap_setkeys | |
| + 0.46% RocksDBStore::RocksDBTransactionImpl::set | |
| + 0.46% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| + 0.46% rocksdb::WriteBatch::Put | |
| + 0.46% rocksdb::WriteBatchInternal::Put | |
| + 0.46% PutLengthPrefixedSlice | |
| + 0.46% std::string::append | |
| + 0.46% _M_copy | |
| + 0.46% copy | |
| + 0.46% __memcpy_ssse3 | |
+ 0.46% PrimaryLogPG::log_operation | |
+ 0.46% PG::append_log | |
+ 0.46% PG::update_snap_map | |
+ 0.46% get_transaction | |
+ 0.46% OSTransaction | |
+ 0.46% ghobject_t | |
+ 0.46% hobject_t::hobject_t | |
+ 0.46% object_t | |
+ 0.46% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
+ 0.46% _M_grab | |
+ 0.46% _M_refcopy | |
+ 0.46% __atomic_add_dispatch | |
+ 0.46% __atomic_add | |
Thread: 90 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 95.43% WaitInterval | |
| + 95.43% WaitUntil | |
| + 95.43% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 3.20% run | |
| + 3.20% PGOpItem::run | |
| + 3.20% OSD::dequeue_op | |
| + 3.20% PrimaryLogPG::do_request | |
| + 3.20% PrimaryLogPG::do_op | |
| + 2.74% PrimaryLogPG::execute_ctx | |
| | + 1.37% PrimaryLogPG::issue_repop | |
| | | + 1.37% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | | + 0.91% PrimaryLogPG::log_operation | |
| | | | + 0.91% PG::append_log | |
| | | | + 0.46% PGLog::trim | |
| | | | | + 0.46% PGLog::IndexedLog::trim | |
| | | | | + 0.46% pop_front | |
| | | | | + 0.46% _M_erase | |
| | | | | + 0.46% destroy | |
| | | | | + 0.46% ~_List_node | |
| | | | | + 0.46% ~pg_log_entry_t | |
| | | | | + 0.46% ~hobject_t | |
| | | | | + 0.46% ~object_t | |
| | | | | + 0.46% ~basic_string | |
| | | | | + 0.46% std::string::_Rep::_M_dispose | |
| | | | + 0.46% PG::write_if_dirty | |
| | | | + 0.46% PGLog::write_log_and_missing | |
| | | | + 0.46% PGLog::_write_log_and_missing | |
| | | + 0.46% PrimaryLogPG::queue_transactions | |
| | | + 0.46% queue_transactions | |
| | | + 0.46% BlueStore::queue_transactions | |
| | | + 0.46% BlueStore::_txc_write_nodes | |
| | | + 0.46% BlueStore::ExtentMap::update | |
| | | + 0.46% BlueStore::ExtentMap::encode_some | |
| | | + 0.46% denc<unsigned char, denc_traits<unsigned char, void> > | |
| | | + 0.46% encode | |
| | | + 0.46% ceph::buffer::list::contiguous_appender::append | |
| | | + 0.46% maybe_inline_memcpy | |
| | + 0.91% PrimaryLogPG::calc_trim_to | |
| | | + 0.91% size | |
| | | + 0.91% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | | + 0.91% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 0.46% PrimaryLogPG::prepare_transaction | |
| | + 0.46% PrimaryLogPG::do_osd_ops | |
| | + 0.46% get_val<bool> | |
| | + 0.46% md_config_t::get_val_generic | |
| | + 0.46% Locker | |
| | + 0.46% Mutex::Lock | |
| | + 0.46% pthread_mutex_lock | |
| | + 0.46% _L_lock_870 | |
| | + 0.46% __lll_lock_wait | |
| + 0.46% OSDService::check_failsafe_full | |
| + 0.46% OSDService::_check_full | |
| + 0.46% ~Locker | |
| + 0.46% Mutex::Unlock | |
| + 0.46% pthread_mutex_unlock | |
| + 0.46% _L_unlock_713 | |
| + 0.46% __lll_unlock_wake | |
+ 0.91% PG::lock | |
| + 0.91% Mutex::Lock | |
| + 0.91% pthread_mutex_lock | |
| + 0.91% _L_lock_812 | |
| + 0.91% __lll_lock_wait | |
+ 0.46% Mutex::Lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 91 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 95.43% WaitInterval | |
| + 95.43% WaitUntil | |
| + 95.43% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 3.20% run | |
| + 3.20% PGOpItem::run | |
| + 3.20% OSD::dequeue_op | |
| + 3.20% PrimaryLogPG::do_request | |
| + 3.20% PrimaryLogPG::do_op | |
| + 2.74% PrimaryLogPG::execute_ctx | |
| | + 1.83% PrimaryLogPG::calc_trim_to | |
| | | + 1.83% size | |
| | | + 1.83% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | | + 1.83% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | | + 0.46% operator++ | |
| | + 0.91% PrimaryLogPG::issue_repop | |
| | + 0.91% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 0.91% PrimaryLogPG::log_operation | |
| | + 0.91% PG::append_log | |
| | + 0.46% PGLog::IndexedLog::trim | |
| | | + 0.46% pop_front | |
| | | + 0.46% _M_erase | |
| | | + 0.46% std::__detail::_List_node_base::_M_unhook | |
| | + 0.46% PG::write_if_dirty | |
| | + 0.46% PGLog::write_log_and_missing | |
| | + 0.46% PGLog::_write_log_and_missing | |
| | + 0.46% insert | |
| | + 0.46% std::_Rb_tree<std::string, std::string, std::_Identity<std::string>, std::less<std::string>, std::allocator<std::string> >::_M_insert_unique<std::string>(std::string&&) | |
| | + 0.46% _M_insert_<std::basic_string<char> > | |
| | + 0.46% _M_create_node<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > | |
| | + 0.46% _M_get_node | |
| | + 0.46% allocate | |
| | + 0.46% tc_new | |
| + 0.46% PrimaryLogPG::maybe_await_blocked_head | |
| + 0.46% SharedLRU<hobject_t, ObjectContext, std::less<hobject_t>, std::hash<hobject_t> >::lookup | |
| + 0.46% find | |
| + 0.46% std::_Rb_tree<hobject_t, std::pair<hobject_t const, std::pair<std::weak_ptr<ObjectContext>, ObjectContext*> >, std::_Select1st<std::pair<hobject_t const, std::pair<std::weak_ptr<ObjectContext>, ObjectContext*> > >, std::less<hobject_t>, std::allocator<std::pair<hobject_t const, std::pair<std::weak_ptr<ObjectContext>, ObjectContext*> > > >::find | |
| + 0.46% _M_lower_bound | |
+ 0.91% PG::lock | |
| + 0.91% Mutex::Lock | |
| + 0.91% pthread_mutex_lock | |
| + 0.91% _L_lock_812 | |
| + 0.91% __lll_lock_wait | |
+ 0.46% ~OpQueueItem | |
+ 0.46% ~unique_ptr | |
+ 0.46% operator() | |
+ 0.46% PGOpItem::~PGOpItem | |
+ 0.46% ~PGOpItem | |
+ 0.46% ~intrusive_ptr | |
+ 0.46% intrusive_ptr_release | |
+ 0.46% put | |
Thread: 92 (tp_osd_tp) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 94.98% WaitInterval | |
| + 94.98% WaitUntil | |
| + 94.98% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 3.65% run | |
| + 3.65% PGOpItem::run | |
| + 3.65% OSD::dequeue_op | |
| + 3.65% PrimaryLogPG::do_request | |
| + 3.65% PrimaryLogPG::do_op | |
| + 3.65% PrimaryLogPG::execute_ctx | |
| + 3.20% PrimaryLogPG::calc_trim_to | |
| | + 3.20% size | |
| | + 3.20% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 3.20% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.46% PrimaryLogPG::issue_repop | |
| + 0.46% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.46% PrimaryLogPG::queue_transactions | |
| + 0.46% queue_transactions | |
| + 0.46% BlueStore::queue_transactions | |
| + 0.46% BlueStore::_txc_write_nodes | |
| + 0.46% BlueStore::ExtentMap::update | |
| + 0.46% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| + 0.46% operator() | |
| + 0.46% RocksDBStore::RocksDBTransactionImpl::set | |
| + 0.46% combine_strings | |
| + 0.46% push_back | |
| + 0.46% std::string::reserve | |
| + 0.46% std::string::_Rep::_M_clone | |
| + 0.46% _M_copy | |
+ 0.91% PG::lock | |
| + 0.91% Mutex::Lock | |
| + 0.91% pthread_mutex_lock | |
| + 0.91% _L_lock_812 | |
| + 0.91% __lll_lock_wait | |
+ 0.46% Mutex::Unlock | |
+ 0.46% pthread_mutex_unlock | |
+ 0.46% _L_unlock_713 | |
+ 0.46% __lll_unlock_wake | |
Thread: 93 (tp_peering) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ThreadPool::WorkThread::entry | |
+ 100.00% ThreadPool::worker | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 94 (tp_peering) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ThreadPool::WorkThread::entry | |
+ 100.00% ThreadPool::worker | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 95 (safe_timer) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 96 (fn_anonymous) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 97 (safe_timer) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 98 (ms_local) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 99 (ms_dispatch) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 100 (ms_local) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 101 (ms_dispatch) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 102 (ms_local) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 103 (ms_dispatch) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 104 (ms_local) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 105 (ms_dispatch) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 106 (ms_local) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 107 (ms_dispatch) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 108 (ms_local) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 109 (ms_dispatch) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 110 (ms_local) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::LocalDeliveryThread::entry | |
+ 100.00% DispatchQueue::run_local_delivery | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 111 (ms_dispatch) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% DispatchQueue::DispatchThread::entry | |
+ 100.00% DispatchQueue::entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 112 (bstore_mempool) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% BlueStore::MempoolThread::entry | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 113 (bstore_kv_final) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% BlueStore::KVFinalizeThread::entry | |
+ 100.00% BlueStore::_kv_finalize_thread | |
+ 89.04% std::condition_variable::wait | |
| + 89.04% __gthread_cond_wait | |
| + 89.04% pthread_cond_wait@@GLIBC_2.3.2 | |
| + 0.46% __pthread_enable_asynccancel | |
+ 7.31% BlueStore::deferred_try_submit | |
| + 7.31% BlueStore::_deferred_submit_unlock | |
| + 4.57% KernelDevice::aio_submit | |
| | + 4.57% aio_queue_t::submit_batch | |
| | + 4.57% io_submit | |
| + 1.37% ceph::buffer::list::claim_append | |
| | + 1.37% make_shareable | |
| | + 1.37% ceph::buffer::ptr::make_shareable | |
| + 1.37% KernelDevice::aio_write | |
| + 0.91% push_back | |
| | + 0.91% _M_insert<aio_t> | |
| | + 0.91% _M_create_node<aio_t> | |
| | + 0.91% construct<std::_List_node<aio_t>, aio_t> | |
| | + 0.91% _List_node<aio_t> | |
| | + 0.91% aio_t | |
| | + 0.46% small_vector | |
| | | + 0.46% move_construct_impl | |
| | | + 0.46% assign<boost::move_iterator<iovec*> > | |
| | + 0.46% ceph::buffer::list::list(ceph::buffer::list&&) | |
| | + 0.46% clear | |
| | + 0.46% begin | |
| | + 0.46% ceph::buffer::list::iterator_impl<false>::iterator_impl | |
| + 0.46% pwritev | |
| + 0.46% io_prep_pwritev | |
+ 2.74% BlueStore::_txc_state_proc | |
| + 2.74% BlueStore::_txc_finish | |
| + 2.28% BlueStore::TransContext::~TransContext | |
| | + 2.28% ~TransContext | |
| | + 0.91% ~bluestore_deferred_transaction_t | |
| | | + 0.91% ~list | |
| | | + 0.91% ~_List_base | |
| | | + 0.91% std::_List_base<bluestore_deferred_op_t, std::allocator<bluestore_deferred_op_t> >::_M_clear | |
| | | + 0.91% destroy<std::_List_node<bluestore_deferred_op_t> > | |
| | | + 0.91% ~_List_node | |
| | | + 0.91% ~bluestore_deferred_op_t | |
| | | + 0.91% ~vector | |
| | | + 0.91% ~_Vector_base | |
| | | + 0.91% _M_deallocate | |
| | | + 0.91% deallocate | |
| | | + 0.91% tc_deletearray | |
| | | + 0.91% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | + 0.91% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.46% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.46% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | + 0.46% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | + 0.46% ~set | |
| | | + 0.46% ~_Rb_tree | |
| | | + 0.46% std::_Rb_tree<boost::intrusive_ptr<BlueStore::Onode>, boost::intrusive_ptr<BlueStore::Onode>, std::_Identity<boost::intrusive_ptr<BlueStore::Onode> >, std::less<boost::intrusive_ptr<BlueStore::Onode> >, std::allocator<boost::intrusive_ptr<BlueStore::Onode> > >::_M_erase | |
| | | + 0.46% _M_destroy_node | |
| | | + 0.46% _M_put_node | |
| | | + 0.46% deallocate | |
| | | + 0.46% tc_delete | |
| | | + 0.46% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | + 0.46% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.46% ~intrusive_ptr | |
| | | + 0.46% intrusive_ptr_release | |
| | | + 0.46% RefCountedObject::put | |
| | | + 0.46% operator-- | |
| | + 0.46% tc_delete | |
| | + 0.46% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | + 0.46% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.46% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.46% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | + 0.46% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| + 0.46% BlueStore::BufferSpace::finish_write | |
| + 0.46% erase | |
| + 0.46% std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > >, std::_Select1st<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > >, std::less<unsigned int>, mempool::pool_allocator<(mempool::pool_index_t)4, std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > >::erase | |
| + 0.46% erase | |
| + 0.46% _M_erase_aux | |
| + 0.46% clear | |
| + 0.46% std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > >, std::_Select1st<std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > >, std::less<unsigned int>, mempool::pool_allocator<(mempool::pool_index_t)4, std::pair<unsigned int const, std::unique_ptr<BlueStore::Buffer, std::default_delete<BlueStore::Buffer> > > > >::_M_erase | |
| + 0.46% _M_destroy_node | |
| + 0.46% destroy | |
| + 0.46% ~_Rb_tree_node | |
| + 0.46% ~pair | |
| + 0.46% ~unique_ptr | |
| + 0.46% operator() | |
| + 0.46% BlueStore::Buffer::operator delete | |
| + 0.46% deallocate | |
| + 0.46% tc_deletearray | |
| + 0.46% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| + 0.46% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.91% BlueStore::DeferredBatch::~DeferredBatch | |
+ 0.91% ~DeferredBatch | |
+ 0.91% ~IOContext | |
+ 0.91% ~list | |
+ 0.91% ~_List_base | |
+ 0.91% std::_List_base<aio_t, std::allocator<aio_t> >::_M_clear | |
+ 0.91% destroy<std::_List_node<aio_t> > | |
+ 0.91% ~_List_node | |
+ 0.91% ~aio_t | |
+ 0.46% ~small_vector | |
| + 0.46% ~small_vector_base | |
| + 0.46% ~vector | |
| + 0.46% ~vector_alloc_holder | |
+ 0.46% ~list | |
+ 0.46% ~list | |
+ 0.46% ~_List_base | |
+ 0.46% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
+ 0.46% destroy<std::_List_node<ceph::buffer::ptr> > | |
+ 0.46% ~_List_node | |
Thread: 114 (bstore_kv_sync) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% BlueStore::KVSyncThread::entry | |
+ 100.00% BlueStore::_kv_sync_thread | |
+ 47.49% RocksDBStore::submit_transaction_sync | |
| + 47.49% RocksDBStore::submit_common | |
| + 47.49% rocksdb::DBImpl::Write | |
| + 47.49% rocksdb::DBImpl::WriteImpl | |
| + 47.49% rocksdb::DBImpl::WriteToWAL | |
| + 47.49% rocksdb::WritableFileWriter::Sync | |
| + 47.49% rocksdb::WritableFileWriter::SyncInternal | |
| + 47.49% BlueRocksWritableFile::Sync | |
| + 47.49% fsync | |
| + 47.49% BlueFS::_fsync | |
| + 30.14% BlueFS::_flush_bdev_safely | |
| | + 29.68% BlueFS::wait_for_aio | |
| | | + 29.68% IOContext::aio_wait | |
| | | + 29.22% std::condition_variable::wait | |
| | | | + 29.22% __gthread_cond_wait | |
| | | | + 29.22% pthread_cond_wait@@GLIBC_2.3.2 | |
| | | | + 0.46% __pthread_mutex_cond_lock | |
| | | | + 0.46% _L_cond_lock_789 | |
| | | | + 0.46% __lll_lock_wait | |
| | | + 0.46% ~unique_lock | |
| | | + 0.46% unlock | |
| | | + 0.46% unlock | |
| | | + 0.46% __gthread_mutex_unlock | |
| | | + 0.46% pthread_mutex_unlock | |
| | + 0.46% clear | |
| | + 0.46% std::_List_base<aio_t, std::allocator<aio_t> >::_M_clear | |
| | + 0.46% destroy<std::_List_node<aio_t> > | |
| | + 0.46% ~_List_node | |
| | + 0.46% ~aio_t | |
| | + 0.46% ~list | |
| | + 0.46% ~list | |
| | + 0.46% ~_List_base | |
| | + 0.46% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.46% destroy<std::_List_node<ceph::buffer::ptr> > | |
| | + 0.46% ~_List_node | |
| | + 0.46% ~ptr | |
| | + 0.46% ceph::buffer::ptr::release | |
| | + 0.46% ceph::buffer::raw_posix_aligned::~raw_posix_aligned | |
| | + 0.46% ~raw_posix_aligned | |
| | + 0.46% tc_free | |
| | + 0.46% tcmalloc::PageHeap::Delete(tcmalloc::Span*) | |
| | + 0.46% tcmalloc::PageHeap::MergeIntoFreeList(tcmalloc::Span*) | |
| | + 0.46% tcmalloc::PageHeap::DecommitSpan(tcmalloc::Span*) | |
| | + 0.46% TCMalloc_SystemRelease(void*, unsigned long) | |
| | + 0.46% madvise | |
| + 12.79% BlueFS::_flush_and_sync_log | |
| | + 11.87% BlueFS::_flush_bdev_safely | |
| | | + 11.87% BlueFS::wait_for_aio | |
| | | + 11.87% IOContext::aio_wait | |
| | | + 11.87% std::condition_variable::wait | |
| | | + 11.87% __gthread_cond_wait | |
| | | + 11.87% pthread_cond_wait@@GLIBC_2.3.2 | |
| | + 0.46% encode | |
| | | + 0.46% bluefs_transaction_t::encode | |
| | | + 0.46% ceph::buffer::list::crc32c | |
| | | + 0.46% ceph_crc32c | |
| | | + 0.46% ceph_crc32c_intel_fast | |
| | | + 0.46% ??? | |
| | | + 0.46% ??? | |
| | | + 0.46% crc32_iscsi_00 | |
| | + 0.46% BlueFS::_flush | |
| | + 0.46% BlueFS::_flush_range | |
| | + 0.46% ~list | |
| | + 0.46% ~list | |
| | + 0.46% ~_List_base | |
| | + 0.46% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.46% destroy<std::_List_node<ceph::buffer::ptr> > | |
| | + 0.46% ~_List_node | |
| | + 0.46% ~ptr | |
| | + 0.46% ceph::buffer::ptr::release | |
| | + 0.46% tc_free | |
| + 4.57% BlueFS::_flush | |
| + 4.57% BlueFS::_flush_range | |
| + 2.74% KernelDevice::aio_submit | |
| | + 2.28% aio_queue_t::submit_batch | |
| | | + 2.28% io_submit | |
| | + 0.46% operator+= | |
| + 0.91% KernelDevice::aio_write | |
| | + 0.46% push_back | |
| | | + 0.46% _M_insert<aio_t> | |
| | | + 0.46% _M_create_node<aio_t> | |
| | | + 0.46% construct<std::_List_node<aio_t>, aio_t> | |
| | | + 0.46% _List_node<aio_t> | |
| | | + 0.46% aio_t | |
| | | + 0.46% ceph::buffer::list::list(ceph::buffer::list&&) | |
| | | + 0.46% list | |
| | | + 0.46% _List_base | |
| | | + 0.46% std::__detail::_List_node_base::swap | |
| | + 0.46% ceph::buffer::list::claim_append | |
| + 0.46% std::map<unsigned long, boost::intrusive::list<BlueFS::File, boost::intrusive::member_hook<BlueFS::File, boost::intrusive::list_member_hook<void, void, void>, &BlueFS::File::dirty_item>, void, void, void>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, boost::intrusive::list<BlueFS::File, boost::intrusive::member_hook<BlueFS::File, boost::intrusive::list_member_hook<void, void, void>, &BlueFS::File::dirty_item>, void, void, void> > > >::operator[] | |
| | + 0.46% std::_Rb_tree<unsigned long, std::pair<unsigned long const, boost::intrusive::list<BlueFS::File, boost::intrusive::member_hook<BlueFS::File, boost::intrusive::list_member_hook<void, void, void>, &BlueFS::File::dirty_item>, void, void, void> >, std::_Select1st<std::pair<unsigned long const, boost::intrusive::list<BlueFS::File, boost::intrusive::member_hook<BlueFS::File, boost::intrusive::list_member_hook<void, void, void>, &BlueFS::File::dirty_item>, void, void, void> > >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, boost::intrusive::list<BlueFS::File, boost::intrusive::member_hook<BlueFS::File, boost::intrusive::list_member_hook<void, void, void>, &BlueFS::File::dirty_item>, void, void, void> > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<unsigned long const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<unsigned long const, boost::intrusive::list<BlueFS::File, boost::intrusive::member_hook<BlueFS::File, boost::intrusive::list_member_hook<void, void, void>, &BlueFS::File::dirty_item>, void, void, void> > >, std::piecewise_construct_t const&, std::tuple<unsigned long const&>&&, std::tuple<>&&) | |
| + 0.46% ceph::buffer::list::list | |
| + 0.46% ceph::buffer::list::iterator_impl<false>::advance | |
+ 31.05% RocksDBStore::submit_transaction | |
| + 31.05% RocksDBStore::submit_common | |
| + 31.05% rocksdb::DBImpl::Write | |
| + 31.05% rocksdb::DBImpl::WriteImpl | |
| + 17.81% rocksdb::WriteBatchInternal::InsertInto | |
| | + 17.81% rocksdb::WriteBatch::Iterate | |
| | + 16.44% rocksdb::MemTableInserter::PutCF | |
| | | + 16.44% rocksdb::MemTableInserter::PutCFImpl | |
| | | + 16.44% rocksdb::MemTable::Add | |
| | | + 13.70% rocksdb::InlineSkipList<rocksdb::MemTableRep::KeyComparator const&>::Insert<false> | |
| | | | + 10.96% rocksdb::InlineSkipList<rocksdb::MemTableRep::KeyComparator const&>::RecomputeSpliceLevels | |
| | | | | + 10.96% FindSpliceForLevel<true> | |
| | | | | + 5.02% KeyIsAfterNode | |
| | | | | | + 5.02% rocksdb::MemTable::KeyComparator::operator() | |
| | | | | | + 4.57% rocksdb::InternalKeyComparator::Compare | |
| | | | | | + 2.74% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | |
| | | | | | + 2.28% compare | |
| | | | | | + 2.28% __memcmp_sse4_1 | |
| | | | | + 1.83% Next | |
| | | | | + 1.83% load | |
| | | | | + 1.83% load | |
| | | | + 2.28% KeyIsAfterNode | |
| | | | + 2.28% rocksdb::MemTable::KeyComparator::operator() | |
| | | | + 1.37% rocksdb::InternalKeyComparator::Compare | |
| | | | | + 0.46% rocksdb::(anonymous namespace)::BytewiseComparatorImpl::Compare | |
| | | | | + 0.46% compare | |
| | | | | + 0.46% __memcmp_sse4_1 | |
| | | | + 0.46% GetLengthPrefixedSlice | |
| | | | + 0.46% GetVarint32Ptr | |
| | | + 2.28% __memcpy_ssse3 | |
| | | + 0.46% rocksdb::(anonymous namespace)::SkipListRep::Allocate | |
| | | + 0.46% AllocateKey | |
| | | + 0.46% rocksdb::InlineSkipList<rocksdb::MemTableRep::KeyComparator const&>::AllocateNode | |
| | | + 0.46% rocksdb::ConcurrentArena::AllocateAligned | |
| | + 1.37% rocksdb::MemTableInserter::DeleteCF | |
| | + 1.37% DeleteImpl | |
| | + 1.37% rocksdb::MemTable::Add | |
| | + 1.37% rocksdb::InlineSkipList<rocksdb::MemTableRep::KeyComparator const&>::Insert<false> | |
| | + 1.37% rocksdb::InlineSkipList<rocksdb::MemTableRep::KeyComparator const&>::RecomputeSpliceLevels | |
| | + 1.37% FindSpliceForLevel<true> | |
| | + 0.46% Next | |
| | | + 0.46% load | |
| | | + 0.46% load | |
| | + 0.46% KeyIsAfterNode | |
| | + 0.46% rocksdb::MemTable::KeyComparator::operator() | |
| | + 0.46% rocksdb::InternalKeyComparator::Compare | |
| + 11.42% rocksdb::DBImpl::WriteToWAL | |
| | + 10.50% rocksdb::DBImpl::WriteToWAL | |
| | | + 10.50% rocksdb::log::Writer::AddRecord | |
| | | + 10.50% rocksdb::log::Writer::EmitPhysicalRecord | |
| | | + 6.85% rocksdb::crc32c::ExtendImpl<rocksdb::crc32c::Slow_CRC32> | |
| | | | + 5.94% Slow_CRC32 | |
| | | + 2.74% rocksdb::WritableFileWriter::Append | |
| | | | + 2.74% rocksdb::WritableFileWriter::WriteBuffered | |
| | | | + 2.74% BlueRocksWritableFile::Append | |
| | | | + 2.74% append | |
| | | | + 2.74% append | |
| | | | + 2.74% memcpy | |
| | | | + 2.74% __memcpy_ssse3 | |
| | | + 0.91% rocksdb::WritableFileWriter::Flush | |
| | | + 0.91% BlueRocksWritableFile::Flush | |
| | | + 0.46% flush | |
| | | + 0.46% BlueFS::_flush | |
| | | + 0.46% flush | |
| | | + 0.46% set_offset | |
| | | + 0.46% ceph::buffer::ptr::raw_length | |
| | + 0.46% rocksdb::WriteBatchInternal::SetSequence | |
| | | + 0.46% operator[] | |
| | | + 0.46% _M_leak | |
| | | + 0.46% _ZNSs12_M_leak_hardEv@plt | |
| | + 0.46% Status | |
| + 0.46% rocksdb::WriteThread::ExitAsBatchGroupLeader | |
| | + 0.46% compare_exchange_strong | |
| | + 0.46% compare_exchange_strong | |
| + 0.46% rocksdb::WriteThread::EnterAsBatchGroupLeader | |
| + 0.46% rocksdb::InstrumentedMutex::Lock | |
| | + 0.46% rocksdb::InstrumentedMutex::LockInternal | |
| | + 0.46% rocksdb::port::Mutex::Lock | |
| | + 0.46% pthread_mutex_lock | |
| + 0.46% Unlock | |
+ 19.63% std::condition_variable::wait | |
| + 19.63% __gthread_cond_wait | |
| + 19.63% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 0.91% BlueStore::_txc_applied_kv | |
+ 0.46% operator-- | |
+ 0.46% RocksDBStore::get_transaction | |
+ 0.46% make_shared<RocksDBStore::RocksDBTransactionImpl, RocksDBStore* const> | |
+ 0.46% allocate_shared<RocksDBStore::RocksDBTransactionImpl, std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
+ 0.46% shared_ptr<std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
+ 0.46% __shared_ptr<std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
+ 0.46% __shared_count<RocksDBStore::RocksDBTransactionImpl, std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
+ 0.46% allocate | |
+ 0.46% allocate | |
+ 0.46% tc_new | |
Thread: 115 (finisher) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 54.79% Wait | |
| + 54.79% pthread_cond_wait@@GLIBC_2.3.2 | |
+ 26.94% Context::complete | |
| + 26.94% PrimaryLogPG::BlessedContext::finish | |
| + 23.29% PG::lock | |
| | + 23.29% Mutex::Lock | |
| | + 23.29% pthread_mutex_lock | |
| | + 23.29% _L_lock_812 | |
| | + 23.29% __lll_lock_wait | |
| + 3.65% Context::complete | |
| + 3.65% ReplicatedBackend::op_commit | |
| + 3.20% Context::complete | |
| | + 3.20% PrimaryLogPG::repop_all_committed | |
| | + 3.20% PrimaryLogPG::eval_repop | |
| | + 3.20% PrimaryLogPG::__lambda35::operator() | |
| | + 2.28% send_message_osd_client | |
| | | + 2.28% AsyncConnection::send_message | |
| | | + 0.91% EventCenter::dispatch_event_external | |
| | | | + 0.91% EventCenter::wakeup | |
| | | | + 0.91% write | |
| | | + 0.46% ~lock_guard | |
| | | | + 0.46% unlock | |
| | | | + 0.46% __gthread_mutex_unlock | |
| | | | + 0.46% pthread_mutex_unlock | |
| | | + 0.46% now | |
| | | | + 0.46% clock_gettime | |
| | | + 0.46% PerfCounters::inc | |
| | + 0.46% mark_commit_sent | |
| | + 0.46% OpRequest::mark_flag_point | |
| | + 0.46% TrackedOp::mark_event | |
| | + 0.46% ~Locker | |
| | + 0.46% Mutex::Unlock | |
| | + 0.46% pthread_mutex_unlock | |
| + 0.46% C_OSD_RepopCommit::~C_OSD_RepopCommit | |
| + 0.46% ~C_OSD_RepopCommit | |
| + 0.46% ~intrusive_ptr | |
| + 0.46% intrusive_ptr_release | |
| + 0.46% PG::put | |
+ 18.26% C_ContextsBase<Context, Context>::complete | |
+ 18.26% complete | |
+ 18.26% finish_contexts<Context> | |
+ 15.53% Context::complete | |
| + 14.16% PrimaryLogPG::BlessedContext::finish | |
| | + 14.16% Context::complete | |
| | + 14.16% ReplicatedBackend::op_applied | |
| | + 6.39% erase | |
| | | + 6.39% std::_Rb_tree<unsigned long, std::pair<unsigned long const, ReplicatedBackend::InProgressOp>, std::_Select1st<std::pair<unsigned long const, ReplicatedBackend::InProgressOp> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, ReplicatedBackend::InProgressOp> > >::erase | |
| | | + 6.39% erase | |
| | | + 6.39% _M_erase_aux | |
| | | + 3.65% clear | |
| | | | + 3.65% std::_Rb_tree<unsigned long, std::pair<unsigned long const, ReplicatedBackend::InProgressOp>, std::_Select1st<std::pair<unsigned long const, ReplicatedBackend::InProgressOp> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, ReplicatedBackend::InProgressOp> > >::_M_erase | |
| | | | + 3.65% _M_destroy_node | |
| | | | + 3.65% destroy<std::_Rb_tree_node<std::pair<unsigned long const, ReplicatedBackend::InProgressOp> > > | |
| | | | + 3.65% ~_Rb_tree_node | |
| | | | + 3.65% ~pair | |
| | | | + 3.65% ~InProgressOp | |
| | | | + 3.65% ~intrusive_ptr | |
| | | | + 3.65% intrusive_ptr_release | |
| | | | + 3.20% OpTracker::unregister_inflight_op | |
| | | | | + 1.37% OpHistory::insert | |
| | | | | | + 0.91% OpHistory::cleanup | |
| | | | | | | + 0.46% ~pair | |
| | | | | | | | + 0.46% ~intrusive_ptr | |
| | | | | | | | + 0.46% intrusive_ptr_release | |
| | | | | | | | + 0.46% TrackedOp::put | |
| | | | | | | + 0.46% erase | |
| | | | | | | + 0.46% std::_Rb_tree<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> >, std::pair<utime_t, boost::intrusive_ptr<TrackedOp> >, std::_Identity<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > >, std::less<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > >, std::allocator<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > > >::erase | |
| | | | | | | + 0.46% std::_Rb_tree<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> >, std::pair<utime_t, boost::intrusive_ptr<TrackedOp> >, std::_Identity<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > >, std::less<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > >, std::allocator<std::pair<utime_t, boost::intrusive_ptr<TrackedOp> > > >::equal_range | |
| | | | | | + 0.46% get_duration | |
| | | | | | + 0.46% Locker | |
| | | | | | + 0.46% Mutex::Lock | |
| | | | | | + 0.46% pthread_mutex_lock | |
| | | | | + 0.91% ~intrusive_ptr | |
| | | | | | + 0.91% intrusive_ptr_release | |
| | | | | | + 0.91% OpRequest::~OpRequest | |
| | | | | | + 0.91% ~OpRequest | |
| | | | | | + 0.46% ~TrackedOp | |
| | | | | | | + 0.46% ~vector | |
| | | | | | | + 0.46% _Destroy<TrackedOp::Event*, TrackedOp::Event> | |
| | | | | | | + 0.46% _Destroy<TrackedOp::Event*> | |
| | | | | | | + 0.46% __destroy<TrackedOp::Event*> | |
| | | | | | + 0.46% RefCountedObject::put | |
| | | | | | + 0.46% MOSDOp::~MOSDOp | |
| | | | | | + 0.46% tc_delete | |
| | | | | + 0.46% OpRequest::_unregistered | |
| | | | | + 0.46% set_connection | |
| | | | | + 0.46% operator= | |
| | | | | + 0.46% ~intrusive_ptr | |
| | | | | + 0.46% RefCountedObject::put | |
| | | | + 0.46% TrackedOp::put | |
| | | | + 0.46% TrackedOp::mark_event | |
| | | + 2.74% erase | |
| | | + 2.74% std::_Rb_tree<unsigned long, std::pair<unsigned long const, ReplicatedBackend::InProgressOp>, std::_Select1st<std::pair<unsigned long const, ReplicatedBackend::InProgressOp> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, ReplicatedBackend::InProgressOp> > >::_M_erase_aux | |
| | | + 2.74% _M_destroy_node | |
| | | + 2.74% destroy<std::_Rb_tree_node<std::pair<unsigned long const, ReplicatedBackend::InProgressOp> > > | |
| | | + 2.74% ~_Rb_tree_node | |
| | | + 2.74% ~pair | |
| | | + 2.74% ~InProgressOp | |
| | | + 2.74% ~intrusive_ptr | |
| | | + 2.74% intrusive_ptr_release | |
| | | + 2.74% OpTracker::unregister_inflight_op | |
| | | + 0.91% ~intrusive_ptr | |
| | | | + 0.91% intrusive_ptr_release | |
| | | | + 0.91% OpRequest::~OpRequest | |
| | | | + 0.91% ~OpRequest | |
| | | | + 0.91% RefCountedObject::put | |
| | | | + 0.91% MOSDOp::~MOSDOp | |
| | | | + 0.91% ~MOSDOp | |
| | | | + 0.91% ~vector | |
| | | | + 0.91% ~_Vector_base | |
| | | | + 0.91% _M_deallocate | |
| | | | + 0.91% deallocate | |
| | | | + 0.91% tc_delete | |
| | | | + 0.46% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | + 0.46% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.91% OpRequest::_unregistered | |
| | | | + 0.46% clear_payload | |
| | | | | + 0.46% Throttle::put | |
| | | | | + 0.46% ~unique_lock | |
| | | | | + 0.46% unlock | |
| | | | | + 0.46% unlock | |
| | | | | + 0.46% __gthread_mutex_unlock | |
| | | | | + 0.46% pthread_mutex_unlock | |
| | | | + 0.46% clear_data | |
| | | | + 0.46% Throttle::put | |
| | | | + 0.46% uniquely_lock<std::mutex&> | |
| | | | + 0.46% unique_lock | |
| | | | + 0.46% lock | |
| | | | + 0.46% lock | |
| | | | + 0.46% __gthread_mutex_lock | |
| | | | + 0.46% pthread_mutex_lock | |
| | | | + 0.46% _L_lock_812 | |
| | | | + 0.46% __lll_lock_wait | |
| | | + 0.46% RLocker | |
| | | | + 0.46% get_read | |
| | | | + 0.46% pthread_rwlock_rdlock | |
| | | + 0.46% OpHistory::insert | |
| | | + 0.46% get_duration | |
| | | + 0.46% operator double | |
| | + 6.39% Context::complete | |
| | | + 6.39% PrimaryLogPG::repop_all_applied | |
| | | + 6.39% PrimaryLogPG::eval_repop | |
| | | + 2.74% PrimaryLogPG::remove_repop | |
| | | | + 0.91% std::_Function_handler<void(), PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda37>::_M_invoke(const std::_Any_data &) | |
| | | | | + 0.91% operator() | |
| | | | | + 0.91% PrimaryLogPG::OpContext::~OpContext | |
| | | | | + 0.46% ~interval_set | |
| | | | | | + 0.46% ~map | |
| | | | | | + 0.46% ~_Rb_tree | |
| | | | | | + 0.46% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::_M_erase | |
| | | | | | + 0.46% _M_destroy_node | |
| | | | | | + 0.46% _M_put_node | |
| | | | | | + 0.46% deallocate | |
| | | | | | + 0.46% tc_delete | |
| | | | | | + 0.46% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | | | | + 0.46% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.46% hobject_t::~hobject_t | |
| | | | + 0.91% PrimaryLogPG::release_object_locks | |
| | | | | + 0.91% put_locks | |
| | | | | + 0.46% ~pair | |
| | | | | | + 0.46% hobject_t::~hobject_t | |
| | | | | | + 0.46% ~object_t | |
| | | | | | + 0.46% ~basic_string | |
| | | | | | + 0.46% std::string::_Rep::_M_dispose | |
| | | | | + 0.46% pair | |
| | | | | + 0.46% hobject_t::hobject_t | |
| | | | | + 0.46% object_t | |
| | | | | + 0.46% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | | | | + 0.46% _M_grab | |
| | | | | + 0.46% _M_is_leaked | |
| | | | + 0.46% erase | |
| | | | | + 0.46% _M_erase | |
| | | | | + 0.46% _M_put_node | |
| | | | | + 0.46% deallocate | |
| | | | | + 0.46% tc_delete | |
| | | | + 0.46% PerfCounters::dec | |
| | | + 1.83% PG::publish_stats_to_osd | |
| | | | + 0.91% pg_stat_t | |
| | | | | + 0.46% vector | |
| | | | | + 0.46% _Vector_base | |
| | | | | + 0.46% _M_create_storage | |
| | | | | + 0.46% _M_allocate | |
| | | | | + 0.46% allocate | |
| | | | | + 0.46% tc_new | |
| | | | + 0.46% pg_stat_t::operator= | |
| | | | + 0.46% PG::_update_calc_stats | |
| | | | + 0.46% get_pg_size | |
| | | | + 0.46% find | |
| | | | + 0.46% std::_Rb_tree<long, std::pair<long const, pg_pool_t>, std::_Select1st<std::pair<long const, pg_pool_t> >, std::less<long>, mempool::pool_allocator<(mempool::pool_index_t)15, std::pair<long const, pg_pool_t> > >::find | |
| | | + 1.37% std::_Function_handler<void(), PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36>::_M_invoke(const std::_Any_data &) | |
| | | | + 1.37% operator() | |
| | | | + 0.91% PrimaryLogPG::do_osd_op_effects | |
| | | | | + 0.46% shared_ptr | |
| | | | | + 0.46% __shared_ptr | |
| | | | | + 0.46% __shared_count | |
| | | | | + 0.46% std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_add_ref_copy | |
| | | | | + 0.46% __atomic_add_dispatch | |
| | | | | + 0.46% __atomic_add | |
| | | | + 0.46% intrusive_ptr | |
| | | | + 0.46% intrusive_ptr_add_ref | |
| | | | + 0.46% RefCountedObject::get | |
| | | + 0.46% erase | |
| | | + 0.46% _M_erase | |
| | + 0.91% C_OSD_RepopApplied::~C_OSD_RepopApplied | |
| | | + 0.91% ~C_OSD_RepopApplied | |
| | | + 0.91% ~intrusive_ptr | |
| | | + 0.91% intrusive_ptr_release | |
| | | + 0.91% put | |
| | | + 0.91% tc_delete | |
| | | + 0.91% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| | | + 0.91% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.46% TrackedOp::mark_event | |
| | + 0.46% ~Locker | |
| | + 0.46% Mutex::Unlock | |
| | + 0.46% pthread_mutex_unlock | |
| + 0.91% Mutex::Unlock | |
| | + 0.46% pthread_mutex_unlock | |
| | | + 0.46% _L_unlock_713 | |
| | | + 0.46% __lll_unlock_wake | |
| | + 0.46% _pre_unlock | |
| + 0.46% PG::C_UpdateLastRollbackInfoTrimmedToApplied::finish | |
| + 0.46% PG::lock | |
| + 0.46% Mutex::Lock | |
| + 0.46% pthread_mutex_lock | |
+ 0.46% ~list | |
| + 0.46% ~_List_base | |
| + 0.46% _M_clear | |
| + 0.46% _M_put_node | |
| + 0.46% deallocate | |
| + 0.46% tc_delete | |
| + 0.46% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| + 0.46% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.46% tc_delete | |
| + 0.46% tcmalloc::ThreadCache::ListTooLong(tcmalloc::ThreadCache::FreeList*, unsigned long) | |
| + 0.46% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.46% PG::C_UpdateLastRollbackInfoTrimmedToApplied::~C_UpdateLastRollbackInfoTrimmedToApplied | |
+ 0.46% ~C_UpdateLastRollbackInfoTrimmedToApplied | |
+ 0.46% ~intrusive_ptr | |
+ 0.46% intrusive_ptr_release | |
+ 0.46% PG::put | |
Thread: 116 (dfin) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 117 (rocksdb:bg0) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% std::execute_native_thread_routine_compat | |
+ 100.00% rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper | |
+ 100.00% rocksdb::ThreadPoolImpl::Impl::BGThread | |
+ 100.00% std::condition_variable::wait | |
+ 100.00% __gthread_cond_wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 118 (rocksdb:bg0) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% std::execute_native_thread_routine_compat | |
+ 100.00% rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper | |
+ 100.00% rocksdb::ThreadPoolImpl::Impl::BGThread | |
+ 100.00% std::condition_variable::wait | |
+ 100.00% __gthread_cond_wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 119 (bstore_aio) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% KernelDevice::AioCompletionThread::entry | |
+ 100.00% KernelDevice::_aio_thread | |
+ 100.00% aio_queue_t::get_next_completed | |
+ 100.00% __io_getevents_0_4 | |
Thread: 120 (bstore_aio) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% KernelDevice::AioCompletionThread::entry | |
+ 100.00% KernelDevice::_aio_thread | |
+ 100.00% aio_queue_t::get_next_completed | |
+ 100.00% __io_getevents_0_4 | |
Thread: 121 (bstore_aio) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% KernelDevice::AioCompletionThread::entry | |
+ 100.00% KernelDevice::_aio_thread | |
+ 99.09% aio_queue_t::get_next_completed | |
| + 99.09% __io_getevents_0_4 | |
+ 0.91% try_aio_wake | |
+ 0.46% std::condition_variable::notify_all | |
| + 0.46% __gthread_cond_broadcast | |
| + 0.46% pthread_cond_broadcast@@GLIBC_2.3.2 | |
+ 0.46% operator std::__atomic_base<int>::__int_type | |
+ 0.46% load | |
Thread: 122 (bstore_aio) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% KernelDevice::AioCompletionThread::entry | |
+ 100.00% KernelDevice::_aio_thread | |
+ 99.09% aio_queue_t::get_next_completed | |
| + 99.09% __io_getevents_0_4 | |
+ 0.91% BlueStore::_deferred_aio_finish | |
+ 0.46% ~lock_guard | |
| + 0.46% unlock | |
| + 0.46% __gthread_mutex_unlock | |
| + 0.46% pthread_mutex_unlock | |
+ 0.46% lock_guard | |
+ 0.46% lock | |
+ 0.46% __gthread_mutex_lock | |
+ 0.46% pthread_mutex_lock | |
+ 0.46% _L_lock_812 | |
+ 0.46% __lll_lock_wait | |
Thread: 123 (safe_timer) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 124 (safe_timer) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 125 (safe_timer) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 126 (safe_timer) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 127 (ceph-osd) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% std::execute_native_thread_routine_compat | |
+ 100.00% ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::timer_thread | |
+ 100.00% wait_until<ceph::time_detail::coarse_mono_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > > | |
+ 100.00% __wait_until_impl<std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > > | |
+ 100.00% __gthread_cond_timedwait | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 128 (admin_socket) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% AdminSocket::entry | |
+ 100.00% poll | |
+ 100.00% poll | |
Thread: 129 (service) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% CephContextServiceThread::entry | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 130 (msgr-worker-2) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% std::execute_native_thread_routine_compat | |
+ 100.00% NetworkStack::__lambda4::operator() | |
+ 100.00% EventCenter::process_events | |
+ 100.00% EpollDriver::event_wait | |
+ 100.00% epoll_wait | |
Thread: 131 (msgr-worker-1) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% std::execute_native_thread_routine_compat | |
+ 100.00% NetworkStack::__lambda4::operator() | |
+ 100.00% EventCenter::process_events | |
+ 100.00% EpollDriver::event_wait | |
+ 100.00% epoll_wait | |
Thread: 132 (msgr-worker-0) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% std::execute_native_thread_routine_compat | |
+ 100.00% NetworkStack::__lambda4::operator() | |
+ 100.00% EventCenter::process_events | |
+ 57.99% EpollDriver::event_wait | |
| + 57.99% epoll_wait | |
+ 24.66% AsyncConnection::process | |
| + 13.70% DispatchQueue::fast_dispatch | |
| | + 13.24% ms_fast_dispatch | |
| | | + 13.24% OSD::ms_fast_dispatch | |
| | | + 12.33% OSD::enqueue_op | |
| | | | + 11.42% queue | |
| | | | | + 11.42% OSD::ShardedOpWQ::_enqueue(OpQueueItem&&) | |
| | | | | + 5.48% Mutex::Unlock | |
| | | | | | + 5.48% pthread_mutex_unlock | |
| | | | | | + 5.48% _L_unlock_713 | |
| | | | | | + 5.48% __lll_unlock_wake | |
| | | | | + 4.57% SignalOne | |
| | | | | | + 4.57% pthread_cond_signal@@GLIBC_2.3.2 | |
| | | | | + 0.46% WeightedPriorityQueue<OpQueueItem, unsigned long>::enqueue(unsigned long, unsigned int, unsigned int, OpQueueItem&&) | |
| | | | | + 0.46% WeightedPriorityQueue<OpQueueItem, unsigned long>::Queue::insert(unsigned int, unsigned long, unsigned int, OpQueueItem&&, bool) | |
| | | | | | + 0.46% insert | |
| | | | | | + 0.46% insert | |
| | | | | | + 0.46% tc_new | |
| | | | | + 0.46% Mutex::Lock | |
| | | | | + 0.46% pthread_mutex_lock | |
| | | | | + 0.46% _L_lock_812 | |
| | | | | + 0.46% __lll_lock_wait | |
| | | | + 0.91% ceph_clock_now | |
| | | | + 0.91% clock_gettime | |
| | | | + 0.91% clock_gettime | |
| | | + 0.91% create_request<OpRequest, Message*> | |
| | | + 0.46% tracking_start | |
| | | | + 0.46% OpTracker::register_inflight_op | |
| | | | + 0.46% RLocker | |
| | | | + 0.46% get_read | |
| | | | + 0.46% pthread_rwlock_rdlock | |
| | | + 0.46% tc_new | |
| | + 0.46% DispatchQueue::pre_dispatch | |
| | + 0.46% should_gather | |
| + 4.11% AsyncConnection::read_until | |
| | + 2.74% AsyncConnection::read_bulk | |
| | | + 2.74% read | |
| | | + 2.74% PosixConnectedSocketImpl::read | |
| | | + 2.74% read | |
| | | + 2.74% read | |
| | + 1.37% memcpy | |
| | + 1.37% __memcpy_ssse3 | |
| + 3.20% decode_message | |
| | + 0.91% intrusive_ptr | |
| | | + 0.91% intrusive_ptr_add_ref | |
| | | + 0.91% RefCountedObject::get | |
| | + 0.91% MOSDOp::decode_payload | |
| | | + 0.46% decode<osd_reqid_t, denc_traits<osd_reqid_t, void> > | |
| | | + 0.46% decode | |
| | | + 0.46% spg_t::decode | |
| | | + 0.46% decode | |
| | | + 0.46% decode | |
| | | + 0.46% decode | |
| | | + 0.46% decode_raw<ceph_le<unsigned int> > | |
| | | + 0.46% ceph::buffer::list::iterator_impl<false>::copy | |
| | + 0.46% tc_new | |
| | + 0.46% ceph::buffer::list::crc32c | |
| | | + 0.46% ceph_crc32c | |
| | | + 0.46% ceph_crc32c_intel_baseline | |
| | + 0.46% MOSDOp::MOSDOp | |
| | + 0.46% vector | |
| | + 0.46% _Vector_base | |
| | + 0.46% _Vector_impl | |
| + 0.91% ceph::buffer::ptr::c_str | |
| + 0.91% Throttle::get_or_fail | |
| | + 0.46% PerfCounters::inc | |
| + 0.46% ms_can_fast_dispatch | |
| | + 0.46% OSD::ms_can_fast_dispatch | |
| + 0.46% ceph::buffer::list::clear | |
| | + 0.46% ~ptr | |
| + 0.46% ceph::buffer::create | |
| | + 0.46% ceph::buffer::create_aligned | |
| | + 0.46% ceph::buffer::create_aligned_in_mempool | |
| | + 0.46% create | |
| | + 0.46% tc_posix_memalign | |
| | + 0.46% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
| + 0.46% alloc_aligned_buffer | |
| + 0.46% push_back | |
| + 0.46% ceph::buffer::ptr::ptr | |
| + 0.46% operator++ | |
| + 0.46% fetch_add | |
+ 14.61% AsyncConnection::handle_write | |
| + 10.05% AsyncConnection::write_message | |
| | + 8.68% AsyncConnection::_try_send | |
| | | + 8.22% send | |
| | | | + 8.22% PosixConnectedSocketImpl::send | |
| | | | + 8.22% do_sendmsg | |
| | | | + 8.22% sendmsg | |
| | | + 0.46% EventCenter::delete_file_event | |
| | | + 0.46% EpollDriver::del_event | |
| | | + 0.46% epoll_ctl | |
| | + 1.37% RefCountedObject::put | |
| | + 1.37% MOSDOpReply::~MOSDOpReply | |
| | + 0.91% ~MOSDOpReply | |
| | | + 0.46% ~vector | |
| | | | + 0.46% _Destroy<OSDOp*, OSDOp> | |
| | | | + 0.46% _Destroy<OSDOp*> | |
| | | | + 0.46% __destroy<OSDOp*> | |
| | | | + 0.46% _Destroy<OSDOp> | |
| | | | + 0.46% ~OSDOp | |
| | | | + 0.46% ~list | |
| | | | + 0.46% ~list | |
| | | | + 0.46% ~_List_base | |
| | | | + 0.46% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.46% destroy<std::_List_node<ceph::buffer::ptr> > | |
| | | | + 0.46% ~_List_node | |
| | | | + 0.46% ~ptr | |
| | | | + 0.46% ceph::buffer::ptr::release | |
| | | + 0.46% Message::~Message | |
| | | + 0.46% ~intrusive_ptr | |
| | | + 0.46% RefCountedObject::put | |
| | | + 0.46% operator-- | |
| | + 0.46% tc_delete | |
| | + 0.46% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.46% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 2.74% AsyncConnection::prepare_send_message | |
| | + 2.28% Message::encode | |
| | + 1.83% MOSDOpReply::encode_payload | |
| | | + 1.37% encode | |
| | | | + 1.37% encode | |
| | | | + 1.37% encode | |
| | | | + 0.91% encode | |
| | | | | + 0.91% encode_raw<ceph_le<unsigned int> > | |
| | | | | + 0.91% ceph::buffer::list::append | |
| | | | | + 0.91% create | |
| | | | | + 0.46% tc_posix_memalign | |
| | | | | | + 0.46% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
| | | | | | + 0.46% tcmalloc::AlignmentForSize(unsigned long) | |
| | | | | + 0.46% raw_combined | |
| | | | | + 0.46% raw | |
| | | | | + 0.46% mempool::pool_t::adjust_count | |
| | | | | + 0.46% operator+= | |
| | | | + 0.46% operator= | |
| | | + 0.46% Message::encode_trace | |
| | | + 0.46% encode | |
| | | + 0.46% encode | |
| | | + 0.46% encode_raw<ceph_le<unsigned long long> > | |
| | | + 0.46% ceph::buffer::list::append | |
| | + 0.46% calc_front_crc | |
| | + 0.46% ceph::buffer::list::crc32c | |
| | + 0.46% ceph_crc32c | |
| + 0.91% unlock | |
| | + 0.91% __gthread_mutex_unlock | |
| | + 0.91% pthread_mutex_unlock | |
| | + 0.46% _L_unlock_713 | |
| | + 0.46% __lll_unlock_wake | |
| + 0.46% _get_next_outgoing | |
| + 0.46% ceph::buffer::list::swap | |
| + 0.46% ceph::buffer::ptr::swap | |
+ 2.74% C_handle_notify::do_request | |
+ 2.74% read | |
+ 2.74% read | |
Thread: 133 (log) - 219 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ceph::logging::Log::entry | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 |
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Thread: 1 (ceph-osd) - 247 samples | |
+ 100.00% main | |
+ 100.00% AsyncMessenger::wait | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 2 (signal_handler) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SignalHandler::entry | |
+ 100.00% poll | |
+ 100.00% poll | |
Thread: 3 (osd_srv_agent) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% OSDService::AgentThread::entry | |
+ 100.00% OSDService::agent_entry | |
+ 100.00% Cond::Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 4 (safe_timer) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 5 (safe_timer) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 6 (safe_timer) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 7 (safe_timer) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% SafeTimerThread::entry | |
+ 100.00% SafeTimer::timer_thread | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 8 (finisher) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 9 (fn_anonymous) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% Finisher::finisher_thread_entry | |
+ 100.00% Wait | |
+ 100.00% pthread_cond_wait@@GLIBC_2.3.2 | |
Thread: 10 (osd_srv_heartbt) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% OSD::T_Heartbeat::entry | |
+ 100.00% OSD::heartbeat_entry | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 11 (tp_osd_cmd) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ThreadPool::WorkThread::entry | |
+ 100.00% ThreadPool::worker | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 12 (tp_osd_disk) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ThreadPool::WorkThread::entry | |
+ 100.00% ThreadPool::worker | |
+ 100.00% WaitInterval | |
+ 100.00% WaitUntil | |
+ 100.00% pthread_cond_timedwait@@GLIBC_2.3.2 | |
Thread: 13 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 89.47% WaitInterval | |
| + 89.47% WaitUntil | |
| + 89.47% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 6.48% PG::lock | |
| + 6.48% Mutex::Lock | |
| + 6.48% pthread_mutex_lock | |
| + 6.48% _L_lock_812 | |
| + 6.48% __lll_lock_wait | |
+ 4.05% run | |
+ 4.05% PGOpItem::run | |
+ 4.05% OSD::dequeue_op | |
+ 4.05% PrimaryLogPG::do_request | |
+ 4.05% PrimaryLogPG::do_op | |
+ 3.64% PrimaryLogPG::execute_ctx | |
| + 2.83% PrimaryLogPG::issue_repop | |
| | + 2.83% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 1.62% PrimaryLogPG::queue_transactions | |
| | | + 1.62% queue_transactions | |
| | | + 1.62% BlueStore::queue_transactions | |
| | | + 0.81% BlueStore::_txc_write_nodes | |
| | | | + 0.81% BlueStore::ExtentMap::update | |
| | | | + 0.40% reserve | |
| | | | | + 0.40% _M_allocate_and_copy<BlueStore::ExtentMap::update(KeyValueDB::Transaction, bool)::dirty_shard_t*> | |
| | | | | + 0.40% _M_allocate | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | + 0.40% operator() | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.40% combine_strings | |
| | | | + 0.40% std::string::append | |
| | | | + 0.40% std::string::reserve | |
| | | | + 0.40% _M_dispose | |
| | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | + 0.81% BlueStore::_txc_add_transaction | |
| | | + 0.40% begin | |
| | | | + 0.40% iterator | |
| | | | + 0.40% ceph::buffer::list::get_contiguous | |
| | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | + 0.40% clear | |
| | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% BlueStore::_omap_setkeys | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | + 0.40% rocksdb::WriteBatch::Put | |
| | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | + 0.40% PutLengthPrefixedSliceParts | |
| | | + 0.40% std::string::append | |
| | | + 0.40% std::string::reserve | |
| | | + 0.40% _M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.81% PrimaryLogPG::log_operation | |
| | | + 0.81% PG::append_log | |
| | | + 0.40% register_on_applied | |
| | | | + 0.40% push_back | |
| | | | + 0.40% _M_insert<Context* const&> | |
| | | | + 0.40% _M_create_node<Context* const&> | |
| | | | + 0.40% _M_get_node | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 0.40% PGLog::IndexedLog::trim | |
| | | + 0.40% PGLog::IndexedLog::unindex | |
| | | + 0.40% erase | |
| | | + 0.40% erase | |
| | | + 0.40% _M_erase | |
| | | + 0.40% _M_erase | |
| | | + 0.40% _M_deallocate_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% insert<std::_Rb_tree_const_iterator<pg_shard_t> > | |
| | + 0.40% std::_Rb_tree<pg_shard_t, pg_shard_t, std::_Identity<pg_shard_t>, std::less<pg_shard_t>, std::allocator<pg_shard_t> >::_M_insert_unique<std::_Rb_tree_const_iterator<pg_shard_t> > | |
| | + 0.40% _M_insert_unique_<pg_shard_t const&> | |
| | + 0.40% std::_Rb_tree<pg_shard_t, pg_shard_t, std::_Identity<pg_shard_t>, std::less<pg_shard_t>, std::allocator<pg_shard_t> >::_M_insert_<pg_shard_t const&> | |
| | + 0.40% _M_create_node<pg_shard_t const&> | |
| | + 0.40% _M_get_node | |
| | + 0.40% allocate | |
| | + 0.40% tc_new | |
| | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| + 0.81% PrimaryLogPG::calc_trim_to | |
| + 0.81% size | |
| + 0.81% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.81% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.40% PG::op_has_sufficient_caps | |
+ 0.40% OSDCap::is_capable | |
+ 0.40% ~vector | |
+ 0.40% ~_Bvector_base | |
+ 0.40% _M_deallocate | |
+ 0.40% deallocate | |
+ 0.40% tc_delete | |
+ 0.40% tcmalloc::ThreadCache::Scavenge() | |
+ 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
+ 0.40% SpinLock::SlowLock() | |
+ 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
Thread: 14 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 92.71% WaitInterval | |
| + 92.71% WaitUntil | |
| + 92.71% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 4.45% PG::lock | |
| + 4.45% Mutex::Lock | |
| + 4.45% pthread_mutex_lock | |
| + 4.45% _L_lock_812 | |
| + 4.45% __lll_lock_wait | |
+ 2.83% run | |
+ 2.83% PGOpItem::run | |
+ 2.83% OSD::dequeue_op | |
+ 2.83% PrimaryLogPG::do_request | |
+ 2.83% PrimaryLogPG::do_op | |
+ 2.83% PrimaryLogPG::execute_ctx | |
+ 2.02% PrimaryLogPG::issue_repop | |
| + 2.02% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 1.21% PrimaryLogPG::queue_transactions | |
| | + 1.21% queue_transactions | |
| | + 1.21% BlueStore::queue_transactions | |
| | + 1.21% BlueStore::_txc_add_transaction | |
| | + 0.81% BlueStore::_omap_setkeys | |
| | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | + 0.81% rocksdb::WriteBatch::Put | |
| | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | + 0.81% PutLengthPrefixedSliceParts | |
| | | + 0.81% std::string::append | |
| | | + 0.81% std::string::reserve | |
| | | + 0.81% _M_dispose | |
| | | + 0.81% std::string::_Rep::_M_destroy | |
| | | + 0.81% deallocate | |
| | | + 0.81% tc_delete | |
| | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.81% SpinLock::SlowLock() | |
| | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% begin | |
| | + 0.40% iterator | |
| | + 0.40% ceph::buffer::list::get_contiguous | |
| | + 0.40% erase | |
| | + 0.40% _M_erase | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% generate_transaction | |
| | + 0.40% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | + 0.40% operator() | |
| | + 0.40% ObjectStore::Transaction::setattrs | |
| | + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | + 0.40% ~pair | |
| | + 0.40% ~list | |
| | + 0.40% ~list | |
| | + 0.40% ~_List_base | |
| | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% PrimaryLogPG::log_operation | |
| + 0.40% PG::append_log | |
| + 0.40% PGLog::IndexedLog::trim | |
| + 0.40% PGLog::IndexedLog::unindex | |
| + 0.40% erase | |
| + 0.40% erase | |
| + 0.40% _M_erase | |
| + 0.40% _M_erase | |
| + 0.40% _M_deallocate_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 0.40% reset_obs | |
| + 0.40% operator= | |
| + 0.40% object_info_t::operator=(object_info_t&&) | |
| + 0.40% operator= | |
| + 0.40% operator= | |
| + 0.40% clear | |
| + 0.40% clear | |
| + 0.40% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::_M_erase | |
| + 0.40% _M_destroy_node | |
| + 0.40% _M_put_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 0.40% PrimaryLogPG::prepare_transaction | |
+ 0.40% PrimaryLogPG::finish_ctx | |
+ 0.40% ~map | |
+ 0.40% ~_Rb_tree | |
+ 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
+ 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
+ 0.40% _M_destroy_node | |
+ 0.40% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
+ 0.40% ~_Rb_tree_node | |
+ 0.40% ~pair | |
+ 0.40% ~list | |
+ 0.40% ~list | |
+ 0.40% ~_List_base | |
+ 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
+ 0.40% _M_put_node | |
+ 0.40% deallocate | |
+ 0.40% tc_delete | |
+ 0.40% tcmalloc::ThreadCache::Scavenge() | |
+ 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
+ 0.40% SpinLock::SlowLock() | |
+ 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
Thread: 15 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 92.71% WaitInterval | |
| + 92.71% WaitUntil | |
| + 92.71% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 6.07% PG::lock | |
| + 6.07% Mutex::Lock | |
| + 6.07% pthread_mutex_lock | |
| + 6.07% _L_lock_812 | |
| + 6.07% __lll_lock_wait | |
+ 1.21% run | |
+ 1.21% PGOpItem::run | |
+ 1.21% OSD::dequeue_op | |
+ 1.21% PrimaryLogPG::do_request | |
+ 1.21% PrimaryLogPG::do_op | |
+ 1.21% PrimaryLogPG::execute_ctx | |
+ 0.81% PrimaryLogPG::issue_repop | |
| + 0.81% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 0.40% PrimaryLogPG::queue_transactions | |
| | + 0.40% queue_transactions | |
| | + 0.40% BlueStore::queue_transactions | |
| | + 0.40% BlueStore::_txc_add_transaction | |
| | + 0.40% BlueStore::_omap_setkeys | |
| | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | + 0.40% rocksdb::WriteBatch::Put | |
| | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | + 0.40% PutLengthPrefixedSliceParts | |
| | + 0.40% std::string::append | |
| | + 0.40% std::string::reserve | |
| | + 0.40% _M_dispose | |
| | + 0.40% std::string::_Rep::_M_destroy | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% PrimaryLogPG::log_operation | |
| + 0.40% PG::append_log | |
| + 0.40% PGLog::IndexedLog::trim | |
| + 0.40% PGLog::IndexedLog::unindex | |
| + 0.40% erase | |
| + 0.40% erase | |
| + 0.40% _M_erase | |
| + 0.40% _M_erase | |
| + 0.40% _M_deallocate_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 0.40% PrimaryLogPG::prepare_transaction | |
+ 0.40% PrimaryLogPG::finish_ctx | |
+ 0.40% ~map | |
+ 0.40% ~_Rb_tree | |
+ 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
+ 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
+ 0.40% _M_destroy_node | |
+ 0.40% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
+ 0.40% ~_Rb_tree_node | |
+ 0.40% ~pair | |
+ 0.40% ~list | |
+ 0.40% ~list | |
+ 0.40% ~_List_base | |
+ 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
+ 0.40% _M_put_node | |
+ 0.40% deallocate | |
+ 0.40% tc_delete | |
+ 0.40% tcmalloc::ThreadCache::Scavenge() | |
+ 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
+ 0.40% SpinLock::SlowLock() | |
+ 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
Thread: 16 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 86.23% WaitInterval | |
| + 86.23% WaitUntil | |
| + 86.23% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 6.88% run | |
| + 6.88% PGOpItem::run | |
| + 6.88% OSD::dequeue_op | |
| + 6.88% PrimaryLogPG::do_request | |
| + 6.88% PrimaryLogPG::do_op | |
| + 6.88% PrimaryLogPG::execute_ctx | |
| + 5.26% PrimaryLogPG::issue_repop | |
| | + 5.26% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 4.05% PrimaryLogPG::queue_transactions | |
| | | + 4.05% queue_transactions | |
| | | + 4.05% BlueStore::queue_transactions | |
| | | + 2.02% BlueStore::_txc_add_transaction | |
| | | | + 1.21% BlueStore::_omap_setkeys | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | | + 0.81% PutLengthPrefixedSliceParts | |
| | | | | | + 0.81% std::string::append | |
| | | | | | + 0.81% std::string::reserve | |
| | | | | | + 0.81% _M_dispose | |
| | | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | | + 0.81% deallocate | |
| | | | | | + 0.81% tc_delete | |
| | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% operator+= | |
| | | | | + 0.40% std::string::append | |
| | | | | + 0.40% std::string::reserve | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.81% begin | |
| | | | + 0.81% iterator | |
| | | | + 0.81% ceph::buffer::list::get_contiguous | |
| | | | + 0.81% erase | |
| | | | + 0.81% _M_erase | |
| | | | + 0.81% _M_put_node | |
| | | | + 0.81% deallocate | |
| | | | + 0.81% tc_delete | |
| | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.81% SpinLock::SlowLock() | |
| | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.81% BlueStore::_txc_write_nodes | |
| | | | + 0.81% BlueStore::ExtentMap::update | |
| | | | + 0.81% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | + 0.81% operator() | |
| | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.81% combine_strings | |
| | | | + 0.81% std::string::append | |
| | | | + 0.81% std::string::reserve | |
| | | | + 0.81% _M_dispose | |
| | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | + 0.81% deallocate | |
| | | | + 0.81% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% tcmalloc::ThreadCache::IncreaseCacheLimit() | |
| | | | + 0.40% tcmalloc::ThreadCache::IncreaseCacheLimitLocked() | |
| | | + 0.40% ~list | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~_List_base | |
| | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.40% destroy<std::_List_node<ceph::buffer::ptr> > | |
| | | | + 0.40% ~_List_node | |
| | | | + 0.40% ~ptr | |
| | | | + 0.40% ceph::buffer::ptr::release | |
| | | | + 0.40% tc_free | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% collect_contexts | |
| | | | + 0.40% C_ContextsBase<Context, Context>::list_to_context | |
| | | | + 0.40% clear | |
| | | | + 0.40% _M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% BlueStore::_txc_state_proc | |
| | | + 0.40% BlueStore::_txc_finish_io | |
| | | + 0.40% BlueStore::_txc_state_proc | |
| | | + 0.40% lock_guard | |
| | | + 0.40% lock | |
| | | + 0.40% __gthread_mutex_lock | |
| | | + 0.40% pthread_mutex_lock | |
| | | + 0.40% _L_lock_812 | |
| | | + 0.40% __lll_lock_wait | |
| | + 0.81% PrimaryLogPG::log_operation | |
| | | + 0.81% PG::append_log | |
| | | + 0.81% PGLog::IndexedLog::trim | |
| | | + 0.81% PGLog::IndexedLog::unindex | |
| | | + 0.81% erase | |
| | | + 0.81% erase | |
| | | + 0.81% _M_erase | |
| | | + 0.81% _M_erase | |
| | | + 0.81% _M_deallocate_node | |
| | | + 0.81% deallocate | |
| | | + 0.81% tc_delete | |
| | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% generate_transaction | |
| | + 0.40% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | + 0.40% operator() | |
| | + 0.40% ObjectStore::Transaction::setattrs | |
| | + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | + 0.40% ~pair | |
| | + 0.40% ~list | |
| | + 0.40% ~list | |
| | + 0.40% ~_List_base | |
| | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 1.21% PrimaryLogPG::calc_trim_to | |
| | + 1.21% size | |
| | + 1.21% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.21% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.40% PrimaryLogPG::prepare_transaction | |
| + 0.40% PrimaryLogPG::finish_ctx | |
| + 0.40% ~map | |
| + 0.40% ~_Rb_tree | |
| + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| + 0.40% _M_destroy_node | |
| + 0.40% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
| + 0.40% ~_Rb_tree_node | |
| + 0.40% ~pair | |
| + 0.40% ~list | |
| + 0.40% ~list | |
| + 0.40% ~_List_base | |
| + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| + 0.40% _M_put_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 6.88% PG::lock | |
+ 6.88% Mutex::Lock | |
+ 6.88% pthread_mutex_lock | |
+ 6.88% _L_lock_812 | |
+ 6.88% __lll_lock_wait | |
Thread: 17 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 93.93% WaitInterval | |
| + 93.93% WaitUntil | |
| + 93.93% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 3.24% PG::lock | |
| + 3.24% Mutex::Lock | |
| + 3.24% pthread_mutex_lock | |
| + 3.24% _L_lock_812 | |
| + 3.24% __lll_lock_wait | |
+ 2.83% run | |
+ 2.83% PGOpItem::run | |
+ 2.83% OSD::dequeue_op | |
+ 2.83% PrimaryLogPG::do_request | |
+ 2.83% PrimaryLogPG::do_op | |
+ 2.83% PrimaryLogPG::execute_ctx | |
+ 2.43% PrimaryLogPG::issue_repop | |
| + 2.43% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 1.21% PrimaryLogPG::queue_transactions | |
| | + 1.21% queue_transactions | |
| | + 1.21% BlueStore::queue_transactions | |
| | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | + 0.81% rocksdb::WriteBatch::Put | |
| | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | + 0.81% PutLengthPrefixedSliceParts | |
| | | + 0.81% std::string::append | |
| | | + 0.81% std::string::reserve | |
| | | + 0.81% _M_dispose | |
| | | + 0.81% std::string::_Rep::_M_destroy | |
| | | + 0.81% deallocate | |
| | | + 0.81% tc_delete | |
| | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.81% SpinLock::SlowLock() | |
| | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% BlueStore::_txc_write_nodes | |
| | + 0.40% BlueStore::ExtentMap::update | |
| | + 0.40% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | + 0.40% operator() | |
| | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | + 0.40% combine_strings | |
| | + 0.40% std::string::append | |
| | + 0.40% std::string::reserve | |
| | + 0.40% _M_dispose | |
| | + 0.40% std::string::_Rep::_M_destroy | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.81% generate_transaction | |
| | + 0.81% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | + 0.81% operator() | |
| | + 0.81% ObjectStore::Transaction::setattrs | |
| | + 0.81% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | + 0.81% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | + 0.81% ~pair | |
| | + 0.81% ~list | |
| | + 0.81% ~list | |
| | + 0.81% ~_List_base | |
| | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.81% _M_put_node | |
| | + 0.81% deallocate | |
| | + 0.81% tc_delete | |
| | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.81% SpinLock::SlowLock() | |
| | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% PrimaryLogPG::log_operation | |
| + 0.40% PG::append_log | |
| + 0.40% tc_new | |
| + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 0.40% PrimaryLogPG::calc_trim_to | |
+ 0.40% size | |
+ 0.40% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.40% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 18 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 92.71% WaitInterval | |
| + 92.71% WaitUntil | |
| + 92.71% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 6.48% PG::lock | |
| + 6.48% Mutex::Lock | |
| + 6.48% pthread_mutex_lock | |
| + 6.48% _L_lock_812 | |
| + 6.48% __lll_lock_wait | |
+ 0.81% run | |
+ 0.81% PGOpItem::run | |
+ 0.81% OSD::dequeue_op | |
+ 0.81% PrimaryLogPG::do_request | |
+ 0.81% PrimaryLogPG::do_op | |
+ 0.40% std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream | |
| + 0.40% ~basic_stringbuf | |
| + 0.40% ~basic_string | |
| + 0.40% _M_dispose | |
| + 0.40% std::string::_Rep::_M_destroy | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.40% PrimaryLogPG::execute_ctx | |
+ 0.40% PrimaryLogPG::calc_trim_to | |
+ 0.40% size | |
+ 0.40% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.40% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 19 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 88.66% WaitInterval | |
| + 88.66% WaitUntil | |
| + 88.66% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 6.48% run | |
| + 6.48% PGOpItem::run | |
| + 6.48% OSD::dequeue_op | |
| + 6.48% PrimaryLogPG::do_request | |
| + 6.48% PrimaryLogPG::do_op | |
| + 6.48% PrimaryLogPG::execute_ctx | |
| + 6.48% PrimaryLogPG::issue_repop | |
| + 6.48% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 3.24% PrimaryLogPG::queue_transactions | |
| | + 3.24% queue_transactions | |
| | + 3.24% BlueStore::queue_transactions | |
| | + 1.62% BlueStore::_txc_add_transaction | |
| | | + 0.40% decode_attrset | |
| | | | + 0.40% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | | + 0.40% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | + 0.40% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | + 0.40% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| | | | + 0.40% decode | |
| | | | + 0.40% decode<std::basic_string<char> > | |
| | | | + 0.40% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr>, _denc::has_legacy_denc<ceph::buffer::ptr, void> > | |
| | | | + 0.40% decode | |
| | | | + 0.40% decode | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~_List_base | |
| | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% begin | |
| | | | + 0.40% iterator | |
| | | | + 0.40% ceph::buffer::list::get_contiguous | |
| | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | + 0.40% clear | |
| | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% BlueStore::_write | |
| | | | + 0.40% BlueStore::_do_write | |
| | | | + 0.40% BlueStore::_wctx_finish | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% BlueStore::_omap_setkeys | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | + 0.40% rocksdb::WriteBatch::Put | |
| | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | + 0.40% PutLengthPrefixedSliceParts | |
| | | + 0.40% std::string::append | |
| | | + 0.40% std::string::reserve | |
| | | + 0.40% _M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 1.21% collect_contexts | |
| | | + 1.21% C_ContextsBase<Context, Context>::list_to_context | |
| | | + 1.21% clear | |
| | | + 1.21% _M_clear | |
| | | + 1.21% _M_put_node | |
| | | + 1.21% deallocate | |
| | | + 1.21% tc_delete | |
| | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 1.21% SpinLock::SlowLock() | |
| | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | + 0.40% rocksdb::WriteBatch::Put | |
| | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | + 0.40% PutLengthPrefixedSliceParts | |
| | + 0.40% std::string::append | |
| | + 0.40% std::string::reserve | |
| | + 0.40% _M_dispose | |
| | + 0.40% std::string::_Rep::_M_destroy | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 1.62% PrimaryLogPG::log_operation | |
| | + 1.62% PG::append_log | |
| | + 0.81% PG::write_if_dirty | |
| | | + 0.40% PGLog::write_log_and_missing | |
| | | | + 0.40% PGLog::_write_log_and_missing | |
| | | | + 0.40% pg_log_entry_t::encode_with_checksum | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~_List_base | |
| | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% ObjectStore::Transaction::omap_setkeys | |
| | | + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | + 0.40% ~pair | |
| | | + 0.40% ~list | |
| | | + 0.40% ~list | |
| | | + 0.40% ~_List_base | |
| | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% PGLog::trim | |
| | | + 0.40% PGLog::IndexedLog::trim | |
| | | + 0.40% PGLog::IndexedLog::unindex | |
| | | + 0.40% erase | |
| | | + 0.40% erase | |
| | | + 0.40% _M_erase | |
| | | + 0.40% _M_erase | |
| | | + 0.40% _M_deallocate_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% PGLog::IndexedLog::trim | |
| | + 0.40% PGLog::IndexedLog::unindex | |
| | + 0.40% erase | |
| | + 0.40% erase | |
| | + 0.40% _M_erase | |
| | + 0.40% _M_erase | |
| | + 0.40% _M_deallocate_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 1.21% generate_transaction | |
| | + 1.21% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | + 1.21% operator() | |
| | + 1.21% ObjectStore::Transaction::setattrs | |
| | + 1.21% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | + 1.21% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | + 1.21% ~pair | |
| | + 1.21% ~list | |
| | + 1.21% ~list | |
| | + 1.21% ~_List_base | |
| | + 1.21% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 1.21% _M_put_node | |
| | + 1.21% deallocate | |
| | + 1.21% tc_delete | |
| | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 1.21% SpinLock::SlowLock() | |
| | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% ~unique_ptr | |
| + 0.40% operator() | |
| + 0.40% ~PGTransaction | |
| + 0.40% ~map | |
| + 0.40% ~_Rb_tree | |
| + 0.40% std::_Rb_tree<hobject_t, std::pair<hobject_t const, PGTransaction::ObjectOperation>, std::_Select1st<std::pair<hobject_t const, PGTransaction::ObjectOperation> >, std::less<hobject_t>, std::allocator<std::pair<hobject_t const, PGTransaction::ObjectOperation> > >::_M_erase | |
| + 0.40% _M_destroy_node | |
| + 0.40% destroy<std::_Rb_tree_node<std::pair<hobject_t const, PGTransaction::ObjectOperation> > > | |
| + 0.40% ~_Rb_tree_node | |
| + 0.40% ~pair | |
| + 0.40% ~ObjectOperation | |
| + 0.40% ~map | |
| + 0.40% ~_Rb_tree | |
| + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, boost::optional<ceph::buffer::list> >, std::_Select1st<std::pair<std::string const, boost::optional<ceph::buffer::list> > >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::optional<ceph::buffer::list> > > >::_M_erase | |
| + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, boost::optional<ceph::buffer::list> >, std::_Select1st<std::pair<std::string const, boost::optional<ceph::buffer::list> > >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::optional<ceph::buffer::list> > > >::_M_erase | |
| + 0.40% _M_destroy_node | |
| + 0.40% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, boost::optional<ceph::buffer::list> > > > | |
| + 0.40% ~_Rb_tree_node | |
| + 0.40% ~pair | |
| + 0.40% ~optional | |
| + 0.40% ~optional_base | |
| + 0.40% destroy | |
| + 0.40% destroy_impl | |
| + 0.40% ~list | |
| + 0.40% ~list | |
| + 0.40% ~_List_base | |
| + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| + 0.40% destroy<std::_List_node<ceph::buffer::ptr> > | |
| + 0.40% ~_List_node | |
| + 0.40% ~ptr | |
| + 0.40% ceph::buffer::ptr::release | |
| + 0.40% tc_free | |
| + 0.40% tcmalloc::ThreadCache::IncreaseCacheLimit() | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 4.86% PG::lock | |
+ 4.86% Mutex::Lock | |
+ 4.86% pthread_mutex_lock | |
+ 4.86% _L_lock_812 | |
+ 4.86% __lll_lock_wait | |
Thread: 20 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 89.07% WaitInterval | |
| + 89.07% WaitUntil | |
| + 89.07% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 6.07% run | |
| + 6.07% PGOpItem::run | |
| + 6.07% OSD::dequeue_op | |
| + 6.07% PrimaryLogPG::do_request | |
| + 6.07% PrimaryLogPG::do_op | |
| + 5.26% PrimaryLogPG::execute_ctx | |
| | + 4.86% PrimaryLogPG::issue_repop | |
| | | + 4.86% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | | + 2.83% PrimaryLogPG::queue_transactions | |
| | | | + 2.83% queue_transactions | |
| | | | + 2.83% BlueStore::queue_transactions | |
| | | | + 1.21% BlueStore::_txc_write_nodes | |
| | | | | + 1.21% BlueStore::ExtentMap::update | |
| | | | | + 1.21% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | | + 1.21% operator() | |
| | | | | + 1.21% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | | + 0.81% PutLengthPrefixedSlice | |
| | | | | | + 0.81% std::string::append | |
| | | | | | + 0.81% std::string::reserve | |
| | | | | | + 0.81% _M_dispose | |
| | | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | | + 0.81% deallocate | |
| | | | | | + 0.81% tc_delete | |
| | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% combine_strings | |
| | | | | + 0.40% std::string::append | |
| | | | | + 0.40% std::string::reserve | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 1.21% BlueStore::_txc_add_transaction | |
| | | | | + 0.81% begin | |
| | | | | | + 0.81% iterator | |
| | | | | | + 0.81% ceph::buffer::list::get_contiguous | |
| | | | | | + 0.40% erase | |
| | | | | | | + 0.40% _M_erase | |
| | | | | | | + 0.40% _M_put_node | |
| | | | | | | + 0.40% deallocate | |
| | | | | | | + 0.40% tc_delete | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | | + 0.40% clear | |
| | | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.40% _M_put_node | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% BlueStore::_omap_setkeys | |
| | | | | + 0.40% operator+= | |
| | | | | + 0.40% std::string::append | |
| | | | | + 0.40% std::string::reserve | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% collect_contexts | |
| | | | + 0.40% C_ContextsBase<Context, Context>::list_to_context | |
| | | | + 0.40% clear | |
| | | | + 0.40% _M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.81% generate_transaction | |
| | | | + 0.81% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | | + 0.81% operator() | |
| | | | + 0.81% ObjectStore::Transaction::setattrs | |
| | | | + 0.81% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | + 0.81% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.81% ~pair | |
| | | | + 0.81% ~list | |
| | | | + 0.81% ~list | |
| | | | + 0.81% ~_List_base | |
| | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.81% _M_put_node | |
| | | | + 0.81% deallocate | |
| | | | + 0.81% tc_delete | |
| | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.81% SpinLock::SlowLock() | |
| | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.81% PrimaryLogPG::log_operation | |
| | | | + 0.81% PG::append_log | |
| | | | + 0.40% PGLog::IndexedLog::trim | |
| | | | | + 0.40% PGLog::IndexedLog::unindex | |
| | | | | + 0.40% erase | |
| | | | | + 0.40% erase | |
| | | | | + 0.40% _M_erase | |
| | | | | + 0.40% _M_erase | |
| | | | | + 0.40% _M_deallocate_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% PG::write_if_dirty | |
| | | | + 0.40% PGLog::write_log_and_missing | |
| | | | + 0.40% PGLog::_write_log_and_missing | |
| | | | + 0.40% pg_log_entry_t::encode_with_checksum | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~_List_base | |
| | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% insert<std::_Rb_tree_const_iterator<pg_shard_t> > | |
| | | + 0.40% std::_Rb_tree<pg_shard_t, pg_shard_t, std::_Identity<pg_shard_t>, std::less<pg_shard_t>, std::allocator<pg_shard_t> >::_M_insert_unique<std::_Rb_tree_const_iterator<pg_shard_t> > | |
| | | + 0.40% _M_insert_unique_<pg_shard_t const&> | |
| | | + 0.40% std::_Rb_tree<pg_shard_t, pg_shard_t, std::_Identity<pg_shard_t>, std::less<pg_shard_t>, std::allocator<pg_shard_t> >::_M_insert_<pg_shard_t const&> | |
| | | + 0.40% _M_create_node<pg_shard_t const&> | |
| | | + 0.40% _M_get_node | |
| | | + 0.40% allocate | |
| | | + 0.40% tc_new | |
| | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% PrimaryLogPG::calc_trim_to | |
| | + 0.40% size | |
| | + 0.40% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 0.40% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.81% clear_payload | |
| + 0.81% ceph::buffer::list::clear | |
| + 0.81% clear | |
| + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| + 0.81% destroy<std::_List_node<ceph::buffer::ptr> > | |
| + 0.81% ~_List_node | |
| + 0.81% ~ptr | |
| + 0.81% ceph::buffer::ptr::release | |
| + 0.81% ceph::buffer::raw_combined::~raw_combined | |
| + 0.81% ~raw_combined | |
| + 0.81% ~raw | |
| + 0.81% ~map | |
| + 0.81% ~_Rb_tree | |
| + 0.81% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_erase | |
| + 0.81% _M_destroy_node | |
| + 0.81% _M_put_node | |
| + 0.81% deallocate | |
| + 0.81% tc_delete | |
| + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.81% SpinLock::SlowLock() | |
| + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 4.86% PG::lock | |
+ 4.86% Mutex::Lock | |
+ 4.86% pthread_mutex_lock | |
+ 4.86% _L_lock_812 | |
+ 4.86% __lll_lock_wait | |
Thread: 21 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 89.07% WaitInterval | |
| + 89.07% WaitUntil | |
| + 89.07% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 6.07% run | |
| + 6.07% PGOpItem::run | |
| + 6.07% OSD::dequeue_op | |
| + 6.07% PrimaryLogPG::do_request | |
| + 6.07% PrimaryLogPG::do_op | |
| + 6.07% PrimaryLogPG::execute_ctx | |
| + 6.07% PrimaryLogPG::issue_repop | |
| + 6.07% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 4.05% PrimaryLogPG::queue_transactions | |
| | + 4.05% queue_transactions | |
| | + 4.05% BlueStore::queue_transactions | |
| | + 1.62% BlueStore::_txc_write_nodes | |
| | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.81% combine_strings | |
| | | | + 0.81% operator= | |
| | | | + 0.81% std::string::assign | |
| | | | + 0.81% _M_dispose | |
| | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | + 0.81% deallocate | |
| | | | + 0.81% tc_delete | |
| | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.81% SpinLock::SlowLock() | |
| | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.81% BlueStore::ExtentMap::update | |
| | | + 0.81% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | + 0.81% operator() | |
| | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.40% combine_strings | |
| | | | + 0.40% std::string::append | |
| | | | + 0.40% std::string::reserve | |
| | | | + 0.40% _M_dispose | |
| | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | + 0.40% rocksdb::WriteBatch::Put | |
| | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | + 0.40% PutLengthPrefixedSlice | |
| | | + 0.40% std::string::append | |
| | | + 0.40% std::string::reserve | |
| | | + 0.40% _M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 1.62% BlueStore::_txc_add_transaction | |
| | | + 0.81% BlueStore::_omap_setkeys | |
| | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | + 0.81% PutLengthPrefixedSliceParts | |
| | | | + 0.81% std::string::append | |
| | | | + 0.81% std::string::reserve | |
| | | | + 0.81% _M_dispose | |
| | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | + 0.81% deallocate | |
| | | | + 0.81% tc_delete | |
| | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.81% SpinLock::SlowLock() | |
| | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% begin | |
| | | | + 0.40% iterator | |
| | | | + 0.40% ceph::buffer::list::get_contiguous | |
| | | | + 0.40% erase | |
| | | | + 0.40% _M_erase | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% BlueStore::_write | |
| | | + 0.40% BlueStore::_do_write | |
| | | + 0.40% BlueStore::_do_write_data | |
| | | + 0.40% BlueStore::_do_write_small | |
| | | + 0.40% BlueStore::_get_deferred_op | |
| | | + 0.40% tc_new | |
| | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | + 0.81% rocksdb::WriteBatch::Put | |
| | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | + 0.81% PutLengthPrefixedSliceParts | |
| | + 0.81% std::string::append | |
| | + 0.81% std::string::reserve | |
| | + 0.81% _M_dispose | |
| | + 0.81% std::string::_Rep::_M_destroy | |
| | + 0.81% deallocate | |
| | + 0.81% tc_delete | |
| | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.81% SpinLock::SlowLock() | |
| | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 1.21% generate_transaction | |
| | + 1.21% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | + 1.21% operator() | |
| | + 1.21% ObjectStore::Transaction::setattrs | |
| | + 1.21% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | + 1.21% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | + 1.21% ~pair | |
| | + 1.21% ~list | |
| | + 1.21% ~list | |
| | + 1.21% ~_List_base | |
| | + 1.21% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 1.21% _M_put_node | |
| | + 1.21% deallocate | |
| | + 1.21% tc_delete | |
| | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 1.21% SpinLock::SlowLock() | |
| | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.81% PrimaryLogPG::log_operation | |
| + 0.81% PG::append_log | |
| + 0.40% PGLog::IndexedLog::trim | |
| | + 0.40% PGLog::IndexedLog::unindex | |
| | + 0.40% erase | |
| | + 0.40% erase | |
| | + 0.40% _M_erase | |
| | + 0.40% _M_erase | |
| | + 0.40% _M_deallocate_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% PG::write_if_dirty | |
| + 0.40% ObjectStore::Transaction::omap_setkeys | |
| + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| + 0.40% ~pair | |
| + 0.40% ~list | |
| + 0.40% ~list | |
| + 0.40% ~_List_base | |
| + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| + 0.40% _M_put_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 4.86% PG::lock | |
+ 4.86% Mutex::Lock | |
+ 4.86% pthread_mutex_lock | |
+ 4.86% _L_lock_812 | |
+ 4.86% __lll_lock_wait | |
Thread: 22 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 92.71% WaitInterval | |
| + 92.71% WaitUntil | |
| + 92.71% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 3.64% run | |
| + 3.64% PGOpItem::run | |
| + 3.64% OSD::dequeue_op | |
| + 3.64% PrimaryLogPG::do_request | |
| + 3.64% PrimaryLogPG::do_op | |
| + 3.64% PrimaryLogPG::execute_ctx | |
| + 3.24% PrimaryLogPG::issue_repop | |
| | + 3.24% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 2.43% PrimaryLogPG::queue_transactions | |
| | | + 2.43% queue_transactions | |
| | | + 2.43% BlueStore::queue_transactions | |
| | | + 1.21% BlueStore::_txc_add_transaction | |
| | | | + 0.81% BlueStore::_omap_setkeys | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | + 0.81% PutLengthPrefixedSliceParts | |
| | | | | + 0.81% std::string::append | |
| | | | | + 0.81% std::string::reserve | |
| | | | | + 0.81% _M_dispose | |
| | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::_write | |
| | | | + 0.40% BlueStore::_do_write | |
| | | | + 0.40% BlueStore::_do_write_data | |
| | | | + 0.40% BlueStore::_do_write_small | |
| | | | + 0.40% ~function | |
| | | | + 0.40% ~_Function_base | |
| | | | + 0.40% std::_Function_base::_Base_manager<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | |
| | | | + 0.40% _M_destroy | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.81% BlueStore::_txc_write_nodes | |
| | | | + 0.81% BlueStore::ExtentMap::update | |
| | | | + 0.81% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | + 0.81% operator() | |
| | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.40% combine_strings | |
| | | | | + 0.40% std::string::append | |
| | | | | + 0.40% std::string::reserve | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | + 0.40% PutLengthPrefixedSlice | |
| | | | + 0.40% std::string::append | |
| | | | + 0.40% std::string::reserve | |
| | | | + 0.40% _M_dispose | |
| | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | + 0.40% rocksdb::WriteBatch::Put | |
| | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | + 0.40% PutLengthPrefixedSliceParts | |
| | | + 0.40% std::string::append | |
| | | + 0.40% std::string::reserve | |
| | | + 0.40% _M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.81% PrimaryLogPG::log_operation | |
| | + 0.81% PG::append_log | |
| | + 0.81% PG::write_if_dirty | |
| | + 0.40% PGLog::write_log_and_missing | |
| | | + 0.40% PGLog::_write_log_and_missing | |
| | | + 0.40% pg_log_entry_t::encode_with_checksum | |
| | | + 0.40% ~list | |
| | | + 0.40% ~list | |
| | | + 0.40% ~_List_base | |
| | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% ObjectStore::Transaction::omap_setkeys | |
| | + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | + 0.40% ~pair | |
| | + 0.40% ~list | |
| | + 0.40% ~list | |
| | + 0.40% ~_List_base | |
| | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| + 0.40% PrimaryLogPG::prepare_transaction | |
| + 0.40% PrimaryLogPG::finish_ctx | |
| + 0.40% ~map | |
| + 0.40% ~_Rb_tree | |
| + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| + 0.40% _M_destroy_node | |
| + 0.40% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
| + 0.40% ~_Rb_tree_node | |
| + 0.40% ~pair | |
| + 0.40% ~list | |
| + 0.40% ~list | |
| + 0.40% ~_List_base | |
| + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| + 0.40% _M_put_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 3.64% PG::lock | |
+ 3.64% Mutex::Lock | |
+ 3.64% pthread_mutex_lock | |
+ 3.64% _L_lock_812 | |
+ 3.64% __lll_lock_wait | |
Thread: 23 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 85.43% WaitInterval | |
| + 85.43% WaitUntil | |
| + 85.43% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 0.40% __pthread_mutex_cond_lock | |
| + 0.40% _L_cond_lock_789 | |
| + 0.40% __lll_lock_wait | |
+ 8.10% PG::lock | |
| + 8.10% Mutex::Lock | |
| + 8.10% pthread_mutex_lock | |
| + 8.10% _L_lock_812 | |
| + 8.10% __lll_lock_wait | |
+ 6.48% run | |
+ 6.48% PGOpItem::run | |
+ 6.48% OSD::dequeue_op | |
+ 6.48% PrimaryLogPG::do_request | |
+ 6.48% PrimaryLogPG::do_op | |
+ 6.48% PrimaryLogPG::execute_ctx | |
+ 5.67% PrimaryLogPG::issue_repop | |
| + 4.45% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 2.43% PrimaryLogPG::queue_transactions | |
| | | + 2.43% queue_transactions | |
| | | + 2.43% BlueStore::queue_transactions | |
| | | + 1.62% BlueStore::_txc_add_transaction | |
| | | | + 1.21% BlueStore::_write | |
| | | | | + 1.21% BlueStore::_do_write | |
| | | | | + 0.81% BlueStore::_do_write_data | |
| | | | | | + 0.81% BlueStore::_do_write_small | |
| | | | | | + 0.81% ~function | |
| | | | | | + 0.81% ~_Function_base | |
| | | | | | + 0.81% std::_Function_base::_Base_manager<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | |
| | | | | | + 0.81% _M_destroy | |
| | | | | | + 0.81% tc_delete | |
| | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% BlueStore::_wctx_finish | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% begin | |
| | | | + 0.40% iterator | |
| | | | + 0.40% ceph::buffer::list::get_contiguous | |
| | | | + 0.40% erase | |
| | | | + 0.40% _M_erase | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.81% BlueStore::_txc_write_nodes | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.40% combine_strings | |
| | | | + 0.40% operator= | |
| | | | + 0.40% std::string::assign | |
| | | | + 0.40% _M_dispose | |
| | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% BlueStore::ExtentMap::update | |
| | | + 0.40% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | + 0.40% operator() | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.40% combine_strings | |
| | | + 0.40% std::string::append | |
| | | + 0.40% std::string::reserve | |
| | | + 0.40% _M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 1.21% generate_transaction | |
| | | + 1.21% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | + 0.81% operator() | |
| | | | + 0.81% ObjectStore::Transaction::setattrs | |
| | | | + 0.81% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | + 0.40% encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | + 0.40% encode_nohead<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | + 0.40% ~pair | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~_List_base | |
| | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.40% ~pair | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~_List_base | |
| | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% pop_front | |
| | | + 0.40% _M_erase | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.81% PrimaryLogPG::log_operation | |
| | + 0.81% PG::append_log | |
| | + 0.40% PGLog::IndexedLog::trim | |
| | | + 0.40% PGLog::IndexedLog::unindex | |
| | | + 0.40% erase | |
| | | + 0.40% erase | |
| | | + 0.40% _M_erase | |
| | | + 0.40% _M_erase | |
| | | + 0.40% _M_deallocate_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% PG::write_if_dirty | |
| | + 0.40% ObjectStore::Transaction::omap_setkeys | |
| | + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | + 0.40% ~pair | |
| | + 0.40% ~list | |
| | + 0.40% ~list | |
| | + 0.40% ~_List_base | |
| | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.81% add | |
| | + 0.40% push_back | |
| | | + 0.40% _M_insert<pg_log_entry_t const&> | |
| | | + 0.40% _M_create_node<pg_log_entry_t const&> | |
| | | + 0.40% _M_get_node | |
| | | + 0.40% allocate | |
| | | + 0.40% tc_newarray | |
| | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% operator[] | |
| | + 0.40% std::__detail::_Map_base<osd_reqid_t, std::pair<osd_reqid_t const, pg_log_entry_t*>, std::allocator<std::pair<osd_reqid_t const, pg_log_entry_t*> >, std::__detail::_Select1st, std::equal_to<osd_reqid_t>, std::hash<osd_reqid_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[] | |
| | + 0.40% _M_allocate_node<const std::piecewise_construct_t&, std::tuple<const osd_reqid_t&>, std::tuple<> > | |
| | + 0.40% allocate | |
| | + 0.40% tc_new | |
| | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% tc_new | |
| + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 0.81% PrimaryLogPG::calc_trim_to | |
+ 0.81% size | |
+ 0.81% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.81% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 24 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 83.40% WaitInterval | |
| + 83.40% WaitUntil | |
| + 83.40% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 9.31% PG::lock | |
| + 9.31% Mutex::Lock | |
| + 9.31% pthread_mutex_lock | |
| + 9.31% _L_lock_812 | |
| + 9.31% __lll_lock_wait | |
+ 7.29% run | |
+ 7.29% PGOpItem::run | |
+ 7.29% OSD::dequeue_op | |
+ 7.29% PrimaryLogPG::do_request | |
+ 7.29% PrimaryLogPG::do_op | |
+ 7.29% PrimaryLogPG::execute_ctx | |
+ 6.48% PrimaryLogPG::issue_repop | |
| + 6.07% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 2.83% generate_transaction | |
| | | + 2.83% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | + 1.62% operator() | |
| | | | + 1.62% ObjectStore::Transaction::setattrs | |
| | | | + 1.62% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | + 1.62% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 1.62% ~pair | |
| | | | + 1.62% ~list | |
| | | | + 1.62% ~list | |
| | | | + 1.62% ~_List_base | |
| | | | + 1.62% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 1.62% _M_put_node | |
| | | | + 1.62% deallocate | |
| | | | + 1.62% tc_delete | |
| | | | + 1.62% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 1.62% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 1.62% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 1.62% SpinLock::SlowLock() | |
| | | | + 1.62% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 1.21% pop_front | |
| | | + 1.21% _M_erase | |
| | | + 1.21% _M_put_node | |
| | | + 1.21% deallocate | |
| | | + 1.21% tc_delete | |
| | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.81% SpinLock::SlowLock() | |
| | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% tcmalloc::ThreadCache::IncreaseCacheLimit() | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 2.43% PrimaryLogPG::queue_transactions | |
| | | + 2.43% queue_transactions | |
| | | + 2.43% BlueStore::queue_transactions | |
| | | + 2.02% BlueStore::_txc_add_transaction | |
| | | | + 0.81% begin | |
| | | | | + 0.81% iterator | |
| | | | | + 0.81% ceph::buffer::list::get_contiguous | |
| | | | | + 0.81% erase | |
| | | | | + 0.81% _M_erase | |
| | | | | + 0.81% _M_put_node | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% BlueStore::_omap_setkeys | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | + 0.81% PutLengthPrefixedSliceParts | |
| | | | | + 0.81% std::string::append | |
| | | | | + 0.81% std::string::reserve | |
| | | | | + 0.81% _M_dispose | |
| | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::_get_collection | |
| | | | + 0.40% find | |
| | | | + 0.40% find | |
| | | | + 0.40% _M_hash_code | |
| | | | + 0.40% operator() | |
| | | | + 0.40% ~basic_string | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% BlueStore::_txc_write_nodes | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.40% combine_strings | |
| | | + 0.40% operator= | |
| | | + 0.40% std::string::assign | |
| | | + 0.40% _M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.81% PrimaryLogPG::log_operation | |
| | + 0.81% PG::append_log | |
| | + 0.81% PGLog::IndexedLog::trim | |
| | + 0.40% pop_front | |
| | | + 0.40% _M_erase | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_deletearray | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% PGLog::IndexedLog::unindex | |
| | + 0.40% erase | |
| | + 0.40% erase | |
| | + 0.40% _M_erase | |
| | + 0.40% _M_erase | |
| | + 0.40% _M_deallocate_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% add | |
| + 0.40% operator[] | |
| + 0.40% std::__detail::_Map_base<osd_reqid_t, std::pair<osd_reqid_t const, pg_log_entry_t*>, std::allocator<std::pair<osd_reqid_t const, pg_log_entry_t*> >, std::__detail::_Select1st, std::equal_to<osd_reqid_t>, std::hash<osd_reqid_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[] | |
| + 0.40% _M_allocate_node<const std::piecewise_construct_t&, std::tuple<const osd_reqid_t&>, std::tuple<> > | |
| + 0.40% allocate | |
| + 0.40% tc_new | |
| + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
+ 0.40% reset_obs | |
| + 0.40% operator= | |
| + 0.40% object_info_t::operator=(object_info_t&&) | |
| + 0.40% operator= | |
| + 0.40% operator= | |
| + 0.40% clear | |
| + 0.40% clear | |
| + 0.40% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::_M_erase | |
| + 0.40% _M_destroy_node | |
| + 0.40% _M_put_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 0.40% PrimaryLogPG::prepare_transaction | |
+ 0.40% PrimaryLogPG::finish_ctx | |
+ 0.40% ~map | |
+ 0.40% ~_Rb_tree | |
+ 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
+ 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
+ 0.40% _M_destroy_node | |
+ 0.40% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
+ 0.40% ~_Rb_tree_node | |
+ 0.40% ~pair | |
+ 0.40% ~list | |
+ 0.40% ~list | |
+ 0.40% ~_List_base | |
+ 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
+ 0.40% _M_put_node | |
+ 0.40% deallocate | |
+ 0.40% tc_delete | |
+ 0.40% tcmalloc::ThreadCache::Scavenge() | |
+ 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
+ 0.40% SpinLock::SlowLock() | |
+ 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
Thread: 25 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 90.28% WaitInterval | |
| + 90.28% WaitUntil | |
| + 90.28% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 6.88% run | |
| + 6.88% PGOpItem::run | |
| + 6.88% OSD::dequeue_op | |
| + 6.88% PrimaryLogPG::do_request | |
| + 6.88% PrimaryLogPG::do_op | |
| + 6.88% PrimaryLogPG::execute_ctx | |
| + 3.64% PrimaryLogPG::issue_repop | |
| | + 3.64% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 2.43% PrimaryLogPG::queue_transactions | |
| | | + 2.43% queue_transactions | |
| | | + 2.43% BlueStore::queue_transactions | |
| | | + 2.02% BlueStore::_txc_add_transaction | |
| | | | + 0.81% begin | |
| | | | | + 0.81% iterator | |
| | | | | + 0.81% ceph::buffer::list::get_contiguous | |
| | | | | + 0.81% erase | |
| | | | | + 0.81% _M_erase | |
| | | | | + 0.81% _M_put_node | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% BlueStore::_write | |
| | | | | + 0.81% BlueStore::_do_write | |
| | | | | + 0.81% BlueStore::_do_write_data | |
| | | | | + 0.81% BlueStore::_do_write_small | |
| | | | | + 0.81% ~function | |
| | | | | + 0.81% ~_Function_base | |
| | | | | + 0.81% std::_Function_base::_Base_manager<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | |
| | | | | + 0.81% _M_destroy | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::_get_collection | |
| | | | + 0.40% find | |
| | | | + 0.40% find | |
| | | | + 0.40% _M_hash_code | |
| | | | + 0.40% operator() | |
| | | | + 0.40% ~basic_string | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | + 0.40% rocksdb::WriteBatch::Put | |
| | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | + 0.40% PutLengthPrefixedSliceParts | |
| | | + 0.40% std::string::append | |
| | | + 0.40% std::string::reserve | |
| | | + 0.40% _M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.81% PrimaryLogPG::log_operation | |
| | | + 0.81% PG::append_log | |
| | | + 0.81% PGLog::IndexedLog::trim | |
| | | + 0.81% PGLog::IndexedLog::unindex | |
| | | + 0.81% erase | |
| | | + 0.81% erase | |
| | | + 0.81% _M_erase | |
| | | + 0.81% _M_erase | |
| | | + 0.81% _M_deallocate_node | |
| | | + 0.81% deallocate | |
| | | + 0.81% tc_delete | |
| | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.81% SpinLock::SlowLock() | |
| | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% generate_transaction | |
| | + 0.40% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | + 0.40% operator() | |
| | + 0.40% ObjectStore::Transaction::setattrs | |
| | + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | + 0.40% ~pair | |
| | + 0.40% ~list | |
| | + 0.40% ~list | |
| | + 0.40% ~_List_base | |
| | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 1.62% PrimaryLogPG::prepare_transaction | |
| | + 1.21% PrimaryLogPG::do_osd_ops | |
| | | + 0.81% PrimaryLogPG::write_update_size_and_usage | |
| | | | + 0.81% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::union_of | |
| | | | + 0.81% union_of | |
| | | | + 0.40% operator= | |
| | | | | + 0.40% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::operator= | |
| | | | | + 0.40% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::_M_copy | |
| | | | | + 0.40% _M_clone_node | |
| | | | | + 0.40% _M_create_node<std::pair<unsigned long const, unsigned long> const&> | |
| | | | | + 0.40% _M_get_node | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | + 0.40% insert | |
| | | | + 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::insert | |
| | | | + 0.40% erase | |
| | | | + 0.40% erase | |
| | | | + 0.40% _M_erase_aux | |
| | | | + 0.40% _M_destroy_node | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% get_val<bool> | |
| | | + 0.40% md_config_t::get_val_generic | |
| | | + 0.40% md_config_t::_get_val_generic | |
| | | + 0.40% ~basic_string | |
| | | + 0.40% std::string::_Rep::_M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% PrimaryLogPG::finish_ctx | |
| | + 0.40% ~map | |
| | + 0.40% ~_Rb_tree | |
| | + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| | + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| | + 0.40% _M_destroy_node | |
| | + 0.40% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
| | + 0.40% ~_Rb_tree_node | |
| | + 0.40% ~pair | |
| | + 0.40% ~list | |
| | + 0.40% ~list | |
| | + 0.40% ~_List_base | |
| | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 1.62% PrimaryLogPG::calc_trim_to | |
| + 1.62% size | |
| + 1.62% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 1.62% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 2.83% PG::lock | |
+ 2.83% Mutex::Lock | |
+ 2.83% pthread_mutex_lock | |
+ 2.83% _L_lock_812 | |
+ 2.83% __lll_lock_wait | |
Thread: 26 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 87.45% WaitInterval | |
| + 87.45% WaitUntil | |
| + 87.45% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 8.91% run | |
| + 8.91% PGOpItem::run | |
| + 8.91% OSD::dequeue_op | |
| + 8.91% PrimaryLogPG::do_request | |
| + 8.91% PrimaryLogPG::do_op | |
| + 8.91% PrimaryLogPG::execute_ctx | |
| + 7.69% PrimaryLogPG::issue_repop | |
| | + 7.69% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 4.86% PrimaryLogPG::queue_transactions | |
| | | + 4.86% queue_transactions | |
| | | + 4.86% BlueStore::queue_transactions | |
| | | + 2.83% BlueStore::_txc_add_transaction | |
| | | | + 1.21% begin | |
| | | | | + 1.21% iterator | |
| | | | | + 0.81% vector | |
| | | | | | + 0.81% _Vector_base | |
| | | | | | + 0.81% _M_create_storage | |
| | | | | | + 0.81% _M_allocate | |
| | | | | | + 0.81% allocate | |
| | | | | | + 0.81% tc_new | |
| | | | | | + 0.81% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | + 0.81% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% ceph::buffer::list::get_contiguous | |
| | | | | + 0.40% erase | |
| | | | | + 0.40% _M_erase | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | + 1.21% BlueStore::_omap_setkeys | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | | + 0.81% PutLengthPrefixedSliceParts | |
| | | | | | + 0.81% std::string::append | |
| | | | | | + 0.81% std::string::reserve | |
| | | | | | + 0.81% _M_dispose | |
| | | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | | + 0.81% deallocate | |
| | | | | | + 0.81% tc_delete | |
| | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% operator+= | |
| | | | | + 0.40% std::string::append | |
| | | | | + 0.40% std::string::reserve | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% decode_attrset | |
| | | | + 0.40% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | | + 0.40% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | + 0.40% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | + 0.40% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| | | | + 0.40% decode | |
| | | | + 0.40% decode<std::basic_string<char> > | |
| | | | + 0.40% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr>, _denc::has_legacy_denc<ceph::buffer::ptr, void> > | |
| | | | + 0.40% decode | |
| | | | + 0.40% decode | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~_List_base | |
| | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 1.62% BlueStore::_txc_write_nodes | |
| | | | + 1.62% BlueStore::ExtentMap::update | |
| | | | + 1.21% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | | + 1.21% operator() | |
| | | | | + 1.21% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 1.21% combine_strings | |
| | | | | + 1.21% std::string::append | |
| | | | | + 1.21% std::string::reserve | |
| | | | | + 1.21% _M_dispose | |
| | | | | + 1.21% std::string::_Rep::_M_destroy | |
| | | | | + 1.21% deallocate | |
| | | | | + 1.21% tc_delete | |
| | | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 1.21% SpinLock::SlowLock() | |
| | | | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% ~basic_string | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | + 0.40% rocksdb::WriteBatch::Put | |
| | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | + 0.40% PutLengthPrefixedSliceParts | |
| | | + 0.40% std::string::append | |
| | | + 0.40% std::string::reserve | |
| | | + 0.40% _M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 2.02% PrimaryLogPG::log_operation | |
| | | + 2.02% PG::append_log | |
| | | + 1.21% PGLog::IndexedLog::trim | |
| | | | + 0.81% PGLog::IndexedLog::unindex | |
| | | | | + 0.81% erase | |
| | | | | + 0.81% erase | |
| | | | | + 0.81% _M_erase | |
| | | | | + 0.81% _M_erase | |
| | | | | + 0.81% _M_deallocate_node | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% pop_front | |
| | | | + 0.40% _M_erase | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_deletearray | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.81% PG::write_if_dirty | |
| | | + 0.81% ObjectStore::Transaction::omap_setkeys | |
| | | + 0.81% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | + 0.81% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | + 0.40% ~pair | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~_List_base | |
| | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% pair<std::basic_string<char> const, ceph::buffer::list, void> | |
| | | + 0.40% ceph::buffer::list::list | |
| | | + 0.40% list | |
| | | + 0.40% _M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> > | |
| | | + 0.40% emplace_back<ceph::buffer::ptr const&> | |
| | | + 0.40% _M_insert<ceph::buffer::ptr const&> | |
| | | + 0.40% _M_create_node<ceph::buffer::ptr const&> | |
| | | + 0.40% _M_get_node | |
| | | + 0.40% allocate | |
| | | + 0.40% tc_new | |
| | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.81% generate_transaction | |
| | + 0.81% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | + 0.81% operator() | |
| | + 0.81% ObjectStore::Transaction::setattrs | |
| | + 0.81% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | + 0.81% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | + 0.81% ~pair | |
| | + 0.81% ~list | |
| | + 0.81% ~list | |
| | + 0.81% ~_List_base | |
| | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.81% _M_put_node | |
| | + 0.81% deallocate | |
| | + 0.81% tc_delete | |
| | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.81% reset_obs | |
| | + 0.81% operator= | |
| | + 0.81% object_info_t::operator=(object_info_t&&) | |
| | + 0.81% operator= | |
| | + 0.81% operator= | |
| | + 0.81% clear | |
| | + 0.81% clear | |
| | + 0.81% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::_M_erase | |
| | + 0.81% _M_destroy_node | |
| | + 0.81% _M_put_node | |
| | + 0.81% deallocate | |
| | + 0.81% tc_delete | |
| | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.81% SpinLock::SlowLock() | |
| | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% PrimaryLogPG::calc_trim_to | |
| + 0.40% size | |
| + 0.40% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.40% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 3.64% PG::lock | |
+ 3.64% Mutex::Lock | |
+ 3.64% pthread_mutex_lock | |
+ 3.64% _L_lock_812 | |
+ 3.64% __lll_lock_wait | |
Thread: 27 (tp_osd_tp) - 247 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 86.64% WaitInterval | |
| + 86.64% WaitUntil | |
| + 86.64% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 8.91% run | |
| + 8.91% PGOpItem::run | |
| + 8.91% OSD::dequeue_op | |
| + 8.91% PrimaryLogPG::do_request | |
| + 8.91% PrimaryLogPG::do_op | |
| + 8.91% PrimaryLogPG::execute_ctx | |
| + 7.29% PrimaryLogPG::issue_repop | |
| | + 6.88% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | | + 4.45% PrimaryLogPG::queue_transactions | |
| | | | + 4.45% queue_transactions | |
| | | | + 4.45% BlueStore::queue_transactions | |
| | | | + 2.43% BlueStore::_txc_add_transaction | |
| | | | | + 1.21% BlueStore::_write | |
| | | | | | + 1.21% BlueStore::_do_write | |
| | | | | | + 1.21% BlueStore::_do_write_data | |
| | | | | | + 1.21% BlueStore::_do_write_small | |
| | | | | | + 0.81% function<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22, void> | |
| | | | | | | + 0.81% _M_init_functor | |
| | | | | | | + 0.81% _M_init_functor | |
| | | | | | | + 0.81% tc_new | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | | + 0.81% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpansSafe(int, void**, void**) | |
| | | | | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | | | | | + 0.40% operator() | |
| | | | | | + 0.40% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_invoke(const std::_Any_data &, unsigned long, unsigned long) | |
| | | | | | + 0.40% operator() | |
| | | | | | + 0.40% std::vector<bluestore_pextent_t, mempool::pool_allocator<(mempool::pool_index_t)4, bluestore_pextent_t> >::emplace_back<bluestore_pextent_t>(bluestore_pextent_t&&) | |
| | | | | | + 0.40% std::vector<bluestore_pextent_t, mempool::pool_allocator<(mempool::pool_index_t)4, bluestore_pextent_t> >::_M_emplace_back_aux<bluestore_pextent_t>(bluestore_pextent_t&&) | |
| | | | | | + 0.40% _M_allocate | |
| | | | | | + 0.40% allocate | |
| | | | | | + 0.40% tc_newarray | |
| | | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% decode_attrset | |
| | | | | | + 0.40% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | | | | + 0.40% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | | + 0.40% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | | + 0.40% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| | | | | | + 0.40% decode | |
| | | | | | + 0.40% decode<std::basic_string<char> > | |
| | | | | | + 0.40% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr>, _denc::has_legacy_denc<ceph::buffer::ptr, void> > | |
| | | | | | + 0.40% decode | |
| | | | | | + 0.40% decode | |
| | | | | | + 0.40% ~list | |
| | | | | | + 0.40% ~list | |
| | | | | | + 0.40% ~_List_base | |
| | | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.40% _M_put_node | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% begin | |
| | | | | | + 0.40% iterator | |
| | | | | | + 0.40% ceph::buffer::list::get_contiguous | |
| | | | | | + 0.40% erase | |
| | | | | | + 0.40% _M_erase | |
| | | | | | + 0.40% _M_put_node | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | | + 0.40% BlueStore::_omap_setkeys | |
| | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | | + 0.40% PutLengthPrefixedSliceParts | |
| | | | | + 0.40% std::string::append | |
| | | | | + 0.40% std::string::reserve | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 1.62% BlueStore::_txc_write_nodes | |
| | | | | + 1.21% BlueStore::ExtentMap::update | |
| | | | | | + 1.21% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | | | + 1.21% operator() | |
| | | | | | + 1.21% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | + 1.21% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | + 1.21% rocksdb::WriteBatch::Put | |
| | | | | | + 1.21% rocksdb::WriteBatchInternal::Put | |
| | | | | | + 1.21% PutLengthPrefixedSlice | |
| | | | | | + 1.21% std::string::append | |
| | | | | | + 1.21% std::string::reserve | |
| | | | | | + 1.21% _M_dispose | |
| | | | | | + 1.21% std::string::_Rep::_M_destroy | |
| | | | | | + 1.21% deallocate | |
| | | | | | + 1.21% tc_delete | |
| | | | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 1.21% SpinLock::SlowLock() | |
| | | | | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.40% combine_strings | |
| | | | | + 0.40% operator= | |
| | | | | + 0.40% std::string::assign | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% collect_contexts | |
| | | | + 0.40% C_ContextsBase<Context, Context>::list_to_context | |
| | | | + 0.40% clear | |
| | | | + 0.40% _M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 1.21% generate_transaction | |
| | | | + 1.21% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | | + 1.21% operator() | |
| | | | + 1.21% ObjectStore::Transaction::setattrs | |
| | | | + 1.21% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | + 1.21% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 1.21% ~pair | |
| | | | + 1.21% ~list | |
| | | | + 1.21% ~list | |
| | | | + 1.21% ~_List_base | |
| | | | + 1.21% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 1.21% _M_put_node | |
| | | | + 1.21% deallocate | |
| | | | + 1.21% tc_delete | |
| | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 1.21% SpinLock::SlowLock() | |
| | | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 1.21% PrimaryLogPG::log_operation | |
| | | + 1.21% PG::append_log | |
| | | + 0.81% PG::write_if_dirty | |
| | | | + 0.40% PGLog::write_log_and_missing | |
| | | | | + 0.40% PGLog::_write_log_and_missing | |
| | | | | + 0.40% pg_log_entry_t::encode_with_checksum | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~_List_base | |
| | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% ObjectStore::Transaction::omap_setkeys | |
| | | | + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | + 0.40% encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.40% encode_nohead<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.40% ~pair | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~_List_base | |
| | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% PGLog::IndexedLog::trim | |
| | | + 0.40% PGLog::IndexedLog::unindex | |
| | | + 0.40% erase | |
| | | + 0.40% erase | |
| | | + 0.40% _M_erase | |
| | | + 0.40% _M_erase | |
| | | + 0.40% _M_deallocate_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% add | |
| | + 0.40% push_back | |
| | + 0.40% _M_insert<pg_log_entry_t const&> | |
| | + 0.40% _M_create_node<pg_log_entry_t const&> | |
| | + 0.40% _M_get_node | |
| | + 0.40% allocate | |
| | + 0.40% tc_newarray | |
| | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 1.21% PrimaryLogPG::calc_trim_to | |
| | + 1.21% size | |
| | + 1.21% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.21% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.40% register_on_success<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| + 0.40% emplace_back<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| + 0.40% _M_insert<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| + 0.40% _M_create_node<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| + 0.40% construct<std::_List_node<std::function<void()> >, PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| + 0.40% _List_node<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| + 0.40% function<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36, void> | |
| + 0.40% _M_init_functor | |
| + 0.40% _M_init_functor | |
| + 0.40% tc_new | |
| + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 4.45% PG::lock | |
+ 4.45% Mutex::Lock | |
+ 4.45% pthread_mutex_lock | |
+ 4.45% _L_lock_812 | |
+ 4.45% __lll_lock_wait | |
Thread: 28 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 87.10% WaitInterval | |
| + 87.10% WaitUntil | |
| + 87.10% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 7.66% PG::lock | |
| + 7.66% Mutex::Lock | |
| + 7.66% pthread_mutex_lock | |
| + 7.66% _L_lock_812 | |
| + 7.66% __lll_lock_wait | |
+ 5.24% run | |
+ 5.24% PGOpItem::run | |
+ 5.24% OSD::dequeue_op | |
+ 5.24% PrimaryLogPG::do_request | |
+ 5.24% PrimaryLogPG::do_op | |
+ 4.84% PrimaryLogPG::execute_ctx | |
| + 4.44% PrimaryLogPG::issue_repop | |
| | + 4.44% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 3.63% PrimaryLogPG::queue_transactions | |
| | | + 3.63% queue_transactions | |
| | | + 3.63% BlueStore::queue_transactions | |
| | | + 2.82% BlueStore::_txc_add_transaction | |
| | | | + 0.81% begin | |
| | | | | + 0.81% iterator | |
| | | | | + 0.81% ceph::buffer::list::get_contiguous | |
| | | | | + 0.40% erase | |
| | | | | | + 0.40% _M_erase | |
| | | | | | + 0.40% _M_put_node | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | + 0.40% clear | |
| | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% BlueStore::_write | |
| | | | | + 0.81% BlueStore::_do_write | |
| | | | | + 0.40% BlueStore::_wctx_finish | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% BlueStore::_do_write_data | |
| | | | | + 0.40% BlueStore::_do_write_small | |
| | | | | + 0.40% ~function | |
| | | | | + 0.40% ~_Function_base | |
| | | | | + 0.40% std::_Function_base::_Base_manager<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | |
| | | | | + 0.40% _M_destroy | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% BlueStore::_omap_setkeys | |
| | | | | + 0.40% std::string::push_back | |
| | | | | | + 0.40% std::string::reserve | |
| | | | | | + 0.40% _M_dispose | |
| | | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | | + 0.40% PutLengthPrefixedSliceParts | |
| | | | | + 0.40% std::string::append | |
| | | | | + 0.40% std::string::reserve | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::_get_collection | |
| | | | + 0.40% find | |
| | | | + 0.40% find | |
| | | | + 0.40% _M_hash_code | |
| | | | + 0.40% operator() | |
| | | | + 0.40% ~basic_string | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.81% BlueStore::_txc_write_nodes | |
| | | + 0.81% BlueStore::ExtentMap::update | |
| | | + 0.81% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | + 0.81% operator() | |
| | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.81% combine_strings | |
| | | + 0.81% std::string::append | |
| | | + 0.81% std::string::reserve | |
| | | + 0.81% _M_dispose | |
| | | + 0.81% std::string::_Rep::_M_destroy | |
| | | + 0.81% deallocate | |
| | | + 0.81% tc_delete | |
| | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.81% PrimaryLogPG::log_operation | |
| | + 0.81% PG::append_log | |
| | + 0.81% PG::write_if_dirty | |
| | + 0.40% PGLog::write_log_and_missing | |
| | | + 0.40% PGLog::_write_log_and_missing | |
| | | + 0.40% pg_log_entry_t::encode_with_checksum | |
| | | + 0.40% ~list | |
| | | + 0.40% ~list | |
| | | + 0.40% ~_List_base | |
| | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% ObjectStore::Transaction::omap_setkeys | |
| | + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | + 0.40% ~pair | |
| | + 0.40% ~list | |
| | + 0.40% ~list | |
| | + 0.40% ~_List_base | |
| | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% PrimaryLogPG::calc_trim_to | |
| + 0.40% size | |
| + 0.40% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.40% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.40% clear_payload | |
+ 0.40% ceph::buffer::list::clear | |
+ 0.40% clear | |
+ 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
+ 0.40% destroy<std::_List_node<ceph::buffer::ptr> > | |
+ 0.40% ~_List_node | |
+ 0.40% ~ptr | |
+ 0.40% ceph::buffer::ptr::release | |
+ 0.40% ceph::buffer::raw_combined::~raw_combined | |
+ 0.40% ~raw_combined | |
+ 0.40% ~raw | |
+ 0.40% ~map | |
+ 0.40% ~_Rb_tree | |
+ 0.40% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_erase | |
+ 0.40% _M_destroy_node | |
+ 0.40% _M_put_node | |
+ 0.40% deallocate | |
+ 0.40% tc_delete | |
+ 0.40% tcmalloc::ThreadCache::Scavenge() | |
+ 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
+ 0.40% SpinLock::SlowLock() | |
+ 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
Thread: 29 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 83.47% WaitInterval | |
| + 83.47% WaitUntil | |
| + 83.47% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 8.87% PG::lock | |
| + 8.87% Mutex::Lock | |
| + 8.87% pthread_mutex_lock | |
| + 8.87% _L_lock_812 | |
| + 8.87% __lll_lock_wait | |
+ 7.66% run | |
+ 7.66% PGOpItem::run | |
+ 7.66% OSD::dequeue_op | |
+ 7.66% PrimaryLogPG::do_request | |
+ 7.66% PrimaryLogPG::do_op | |
+ 7.26% PrimaryLogPG::execute_ctx | |
| + 5.65% PrimaryLogPG::issue_repop | |
| | + 5.65% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 3.23% PrimaryLogPG::queue_transactions | |
| | | + 3.23% queue_transactions | |
| | | + 3.23% BlueStore::queue_transactions | |
| | | + 1.61% BlueStore::_txc_add_transaction | |
| | | | + 0.40% vector | |
| | | | | + 0.40% _Vector_base | |
| | | | | + 0.40% _M_create_storage | |
| | | | | + 0.40% _M_allocate | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% decode_attrset | |
| | | | | + 0.40% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | | | + 0.40% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | + 0.40% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | + 0.40% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| | | | | + 0.40% decode | |
| | | | | + 0.40% decode<std::basic_string<char> > | |
| | | | | + 0.40% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr>, _denc::has_legacy_denc<ceph::buffer::ptr, void> > | |
| | | | | + 0.40% decode | |
| | | | | + 0.40% decode | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~_List_base | |
| | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::_write | |
| | | | | + 0.40% BlueStore::_do_write | |
| | | | | + 0.40% BlueStore::_do_write_data | |
| | | | | + 0.40% BlueStore::_do_write_small | |
| | | | | + 0.40% bluestore_blob_t::map(unsigned long, unsigned long, std::function<int (unsigned long, unsigned long)>) const | |
| | | | | + 0.40% operator() | |
| | | | | + 0.40% std::_Function_handler<int(long unsigned int, long unsigned int), BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_invoke(const std::_Any_data &, unsigned long, unsigned long) | |
| | | | | + 0.40% operator() | |
| | | | | + 0.40% std::vector<bluestore_pextent_t, mempool::pool_allocator<(mempool::pool_index_t)4, bluestore_pextent_t> >::emplace_back<bluestore_pextent_t>(bluestore_pextent_t&&) | |
| | | | | + 0.40% std::vector<bluestore_pextent_t, mempool::pool_allocator<(mempool::pool_index_t)4, bluestore_pextent_t> >::_M_emplace_back_aux<bluestore_pextent_t>(bluestore_pextent_t&&) | |
| | | | | + 0.40% _M_allocate | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_newarray | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | + 0.40% BlueStore::_omap_setkeys | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | + 0.40% PutLengthPrefixedSliceParts | |
| | | | + 0.40% std::string::append | |
| | | | + 0.40% std::string::reserve | |
| | | | + 0.40% std::string::_Rep::_M_clone | |
| | | | + 0.40% std::string::_Rep::_S_create | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 1.21% BlueStore::_txc_write_nodes | |
| | | | + 0.81% BlueStore::ExtentMap::update | |
| | | | | + 0.81% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | | + 0.81% operator() | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.40% combine_strings | |
| | | | | | + 0.40% std::string::append | |
| | | | | | + 0.40% std::string::reserve | |
| | | | | | + 0.40% _M_dispose | |
| | | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | | + 0.40% PutLengthPrefixedSlice | |
| | | | | + 0.40% std::string::append | |
| | | | | + 0.40% std::string::reserve | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.40% combine_strings | |
| | | | + 0.40% operator= | |
| | | | + 0.40% std::string::assign | |
| | | | + 0.40% _M_dispose | |
| | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | + 0.40% rocksdb::WriteBatch::Put | |
| | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | + 0.40% PutLengthPrefixedSliceParts | |
| | | + 0.40% std::string::append | |
| | | + 0.40% std::string::reserve | |
| | | + 0.40% _M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 2.02% generate_transaction | |
| | | + 2.02% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | + 2.02% operator() | |
| | | + 2.02% ObjectStore::Transaction::setattrs | |
| | | + 2.02% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | + 1.61% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 1.61% ~pair | |
| | | | + 1.61% ~list | |
| | | | + 1.61% ~list | |
| | | | + 1.61% ~_List_base | |
| | | | + 1.61% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 1.61% _M_put_node | |
| | | | + 1.61% deallocate | |
| | | | + 1.61% tc_delete | |
| | | | + 1.61% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 1.61% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 1.61% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 1.61% SpinLock::SlowLock() | |
| | | | + 1.61% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | + 0.40% encode_nohead<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | + 0.40% ~pair | |
| | | + 0.40% ~list | |
| | | + 0.40% ~list | |
| | | + 0.40% ~_List_base | |
| | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% PrimaryLogPG::log_operation | |
| | + 0.40% PG::append_log | |
| | + 0.40% PGLog::IndexedLog::trim | |
| | + 0.40% PGLog::IndexedLog::unindex | |
| | + 0.40% erase | |
| | + 0.40% erase | |
| | + 0.40% _M_erase | |
| | + 0.40% _M_erase | |
| | + 0.40% _M_deallocate_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.81% reset_obs | |
| | + 0.81% operator= | |
| | + 0.81% object_info_t::operator=(object_info_t&&) | |
| | + 0.81% operator= | |
| | + 0.81% operator= | |
| | + 0.81% clear | |
| | + 0.81% clear | |
| | + 0.81% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::_M_erase | |
| | + 0.81% _M_destroy_node | |
| | + 0.81% _M_put_node | |
| | + 0.81% deallocate | |
| | + 0.81% tc_delete | |
| | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.81% SpinLock::SlowLock() | |
| | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% register_on_success<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% emplace_back<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% _M_insert<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% _M_create_node<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% construct<std::_List_node<std::function<void()> >, PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% _List_node<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% function<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36, void> | |
| | + 0.40% _M_init_functor | |
| | + 0.40% _M_init_functor | |
| | + 0.40% tc_new | |
| | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| + 0.40% PrimaryLogPG::prepare_transaction | |
| + 0.40% PrimaryLogPG::finish_ctx | |
| + 0.40% ~map | |
| + 0.40% ~_Rb_tree | |
| + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| + 0.40% _M_destroy_node | |
| + 0.40% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
| + 0.40% ~_Rb_tree_node | |
| + 0.40% ~pair | |
| + 0.40% ~list | |
| + 0.40% ~list | |
| + 0.40% ~_List_base | |
| + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| + 0.40% _M_put_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 0.40% PG::op_has_sufficient_caps | |
+ 0.40% OSDCap::is_capable | |
+ 0.40% ~vector | |
+ 0.40% ~_Bvector_base | |
+ 0.40% _M_deallocate | |
+ 0.40% deallocate | |
+ 0.40% tc_delete | |
+ 0.40% tcmalloc::ThreadCache::Scavenge() | |
+ 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
+ 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
+ 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
Thread: 30 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 90.32% WaitInterval | |
| + 90.32% WaitUntil | |
| + 90.32% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 5.24% PG::lock | |
| + 5.24% Mutex::Lock | |
| + 5.24% pthread_mutex_lock | |
| + 5.24% _L_lock_812 | |
| + 5.24% __lll_lock_wait | |
+ 4.44% run | |
+ 4.44% PGOpItem::run | |
+ 4.44% OSD::dequeue_op | |
+ 4.44% PrimaryLogPG::do_request | |
+ 4.44% PrimaryLogPG::do_op | |
+ 4.44% PrimaryLogPG::execute_ctx | |
+ 3.63% PrimaryLogPG::issue_repop | |
| + 3.63% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 2.02% PrimaryLogPG::queue_transactions | |
| | + 2.02% queue_transactions | |
| | + 2.02% BlueStore::queue_transactions | |
| | + 1.21% BlueStore::_txc_add_transaction | |
| | | + 0.40% decode_attrset | |
| | | | + 0.40% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | | + 0.40% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | + 0.40% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | + 0.40% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| | | | + 0.40% decode | |
| | | | + 0.40% decode<std::basic_string<char> > | |
| | | | + 0.40% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr>, _denc::has_legacy_denc<ceph::buffer::ptr, void> > | |
| | | | + 0.40% decode | |
| | | | + 0.40% decode | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~_List_base | |
| | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% begin | |
| | | | + 0.40% iterator | |
| | | | + 0.40% ceph::buffer::list::get_contiguous | |
| | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | + 0.40% ceph::buffer::create | |
| | | | + 0.40% ceph::buffer::create_aligned | |
| | | | + 0.40% ceph::buffer::create_aligned_in_mempool | |
| | | | + 0.40% create | |
| | | | + 0.40% tc_posix_memalign | |
| | | | + 0.40% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 0.40% BlueStore::_omap_setkeys | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | + 0.40% rocksdb::WriteBatch::Put | |
| | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | + 0.40% PutLengthPrefixedSliceParts | |
| | | + 0.40% std::string::append | |
| | | + 0.40% std::string::reserve | |
| | | + 0.40% _M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.81% BlueStore::_txc_write_nodes | |
| | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.40% combine_strings | |
| | | + 0.40% operator= | |
| | | + 0.40% std::string::assign | |
| | | + 0.40% _M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% BlueStore::ExtentMap::update | |
| | + 0.40% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | + 0.40% operator() | |
| | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | + 0.40% rocksdb::WriteBatch::Put | |
| | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | + 0.40% PutLengthPrefixedSlice | |
| | + 0.40% std::string::append | |
| | + 0.40% std::string::reserve | |
| | + 0.40% _M_dispose | |
| | + 0.40% std::string::_Rep::_M_destroy | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 1.61% PrimaryLogPG::log_operation | |
| + 1.61% PG::append_log | |
| + 1.21% PG::write_if_dirty | |
| | + 0.81% PGLog::write_log_and_missing | |
| | | + 0.81% PGLog::_write_log_and_missing | |
| | | + 0.40% pg_log_entry_t::encode_with_checksum | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~_List_base | |
| | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% ObjectStore::Transaction::omap_rmkeys | |
| | | + 0.40% ObjectStore::Transaction::_get_object_id | |
| | | + 0.40% operator[] | |
| | | + 0.40% std::_Rb_tree<ghobject_t, std::pair<ghobject_t const, unsigned int>, std::_Select1st<std::pair<ghobject_t const, unsigned int> >, std::less<ghobject_t>, std::allocator<std::pair<ghobject_t const, unsigned int> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<ghobject_t const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<ghobject_t const, unsigned int> >, std::piecewise_construct_t const&, std::tuple<ghobject_t const&>&&, std::tuple<>&&) | |
| | | + 0.40% _M_create_node<const std::piecewise_construct_t&, std::tuple<const ghobject_t&>, std::tuple<> > | |
| | | + 0.40% _M_get_node | |
| | | + 0.40% allocate | |
| | | + 0.40% tc_new | |
| | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% ObjectStore::Transaction::omap_setkeys | |
| | + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | + 0.40% ~pair | |
| | + 0.40% ~list | |
| | + 0.40% ~list | |
| | + 0.40% ~_List_base | |
| | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% PGLog::IndexedLog::trim | |
| + 0.40% PGLog::IndexedLog::unindex | |
| + 0.40% erase | |
| + 0.40% erase | |
| + 0.40% _M_erase | |
| + 0.40% _M_erase | |
| + 0.40% _M_deallocate_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 0.40% register_on_success<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| + 0.40% emplace_back<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| + 0.40% _M_insert<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| + 0.40% _M_create_node<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| + 0.40% construct<std::_List_node<std::function<void()> >, PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| + 0.40% _List_node<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| + 0.40% function<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36, void> | |
| + 0.40% _M_init_functor | |
| + 0.40% _M_init_functor | |
| + 0.40% tc_new | |
| + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
+ 0.40% PrimaryLogPG::prepare_transaction | |
+ 0.40% PrimaryLogPG::do_osd_ops | |
+ 0.40% PrimaryLogPG::write_update_size_and_usage | |
+ 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::union_of | |
+ 0.40% union_of | |
+ 0.40% insert | |
+ 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::insert | |
+ 0.40% erase | |
+ 0.40% erase | |
+ 0.40% _M_erase_aux | |
+ 0.40% _M_destroy_node | |
+ 0.40% _M_put_node | |
+ 0.40% deallocate | |
+ 0.40% tc_delete | |
+ 0.40% tcmalloc::ThreadCache::Scavenge() | |
+ 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
+ 0.40% SpinLock::SlowLock() | |
+ 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
Thread: 31 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 82.66% WaitInterval | |
| + 82.66% WaitUntil | |
| + 82.66% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 10.48% run | |
| + 10.48% PGOpItem::run | |
| + 10.48% OSD::dequeue_op | |
| + 10.48% PrimaryLogPG::do_request | |
| + 10.48% PrimaryLogPG::do_op | |
| + 9.68% PrimaryLogPG::execute_ctx | |
| | + 6.85% PrimaryLogPG::issue_repop | |
| | | + 6.45% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | | | + 2.02% PrimaryLogPG::queue_transactions | |
| | | | | + 2.02% queue_transactions | |
| | | | | + 2.02% BlueStore::queue_transactions | |
| | | | | + 1.61% BlueStore::_txc_add_transaction | |
| | | | | | + 0.81% BlueStore::_omap_setkeys | |
| | | | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | | | + 0.81% PutLengthPrefixedSliceParts | |
| | | | | | | + 0.81% std::string::append | |
| | | | | | | + 0.81% std::string::reserve | |
| | | | | | | + 0.81% _M_dispose | |
| | | | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | | | + 0.81% deallocate | |
| | | | | | | + 0.81% tc_delete | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% BlueStore::_write | |
| | | | | | | + 0.40% BlueStore::_do_write | |
| | | | | | | + 0.40% BlueStore::_wctx_finish | |
| | | | | | | + 0.40% tc_delete | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% BlueStore::_omap_rmkeys | |
| | | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::rmkey | |
| | | | | | + 0.40% rocksdb::WriteBatch::Delete | |
| | | | | | + 0.40% rocksdb::WriteBatchInternal::Delete | |
| | | | | | + 0.40% PutLengthPrefixedSlice | |
| | | | | | + 0.40% std::string::append | |
| | | | | | + 0.40% std::string::reserve | |
| | | | | | + 0.40% _M_dispose | |
| | | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | + 0.40% BlueStore::_txc_write_nodes | |
| | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.40% combine_strings | |
| | | | | + 0.40% operator= | |
| | | | | + 0.40% std::string::assign | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 2.02% PrimaryLogPG::log_operation | |
| | | | | + 2.02% PG::append_log | |
| | | | | + 1.61% PG::write_if_dirty | |
| | | | | | + 1.21% PGLog::write_log_and_missing | |
| | | | | | | + 1.21% PGLog::_write_log_and_missing | |
| | | | | | | + 1.21% pg_log_entry_t::encode_with_checksum | |
| | | | | | | + 1.21% ~list | |
| | | | | | | + 1.21% ~list | |
| | | | | | | + 1.21% ~_List_base | |
| | | | | | | + 1.21% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | | + 1.21% _M_put_node | |
| | | | | | | + 1.21% deallocate | |
| | | | | | | + 1.21% tc_delete | |
| | | | | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | | | + 0.40% ObjectStore::Transaction::omap_setkeys | |
| | | | | | + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | | | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | | + 0.40% ~pair | |
| | | | | | + 0.40% ~list | |
| | | | | | + 0.40% ~list | |
| | | | | | + 0.40% ~_List_base | |
| | | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.40% _M_put_node | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% PGLog::IndexedLog::trim | |
| | | | | + 0.40% PGLog::IndexedLog::unindex | |
| | | | | + 0.40% erase | |
| | | | | + 0.40% erase | |
| | | | | + 0.40% _M_erase | |
| | | | | + 0.40% _M_erase | |
| | | | | + 0.40% _M_deallocate_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 1.61% generate_transaction | |
| | | | | + 1.61% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | | | + 1.61% operator() | |
| | | | | + 1.61% ObjectStore::Transaction::setattrs | |
| | | | | + 1.61% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | | + 1.61% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | + 1.61% ~pair | |
| | | | | + 1.61% ~list | |
| | | | | + 1.61% ~list | |
| | | | | + 1.61% ~_List_base | |
| | | | | + 1.61% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 1.61% _M_put_node | |
| | | | | + 1.61% deallocate | |
| | | | | + 1.61% tc_delete | |
| | | | | + 1.61% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 1.61% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 1.61% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 1.61% SpinLock::SlowLock() | |
| | | | | + 1.61% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% ~vector | |
| | | | + 0.81% _Destroy<ObjectStore::Transaction*, ObjectStore::Transaction> | |
| | | | + 0.81% _Destroy<ObjectStore::Transaction*> | |
| | | | + 0.81% __destroy<ObjectStore::Transaction*> | |
| | | | + 0.81% _Destroy<ObjectStore::Transaction> | |
| | | | + 0.81% ObjectStore::Transaction::~Transaction | |
| | | | + 0.81% ~list | |
| | | | + 0.81% ~list | |
| | | | + 0.81% ~_List_base | |
| | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.81% destroy<std::_List_node<ceph::buffer::ptr> > | |
| | | | + 0.81% ~_List_node | |
| | | | + 0.81% ~ptr | |
| | | | + 0.81% ceph::buffer::ptr::release | |
| | | | + 0.81% tc_free | |
| | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% add | |
| | | + 0.40% push_back | |
| | | + 0.40% _M_insert<pg_log_entry_t const&> | |
| | | + 0.40% _M_create_node<pg_log_entry_t const&> | |
| | | + 0.40% _M_get_node | |
| | | + 0.40% allocate | |
| | | + 0.40% tc_newarray | |
| | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | + 1.61% PrimaryLogPG::prepare_transaction | |
| | | + 1.21% PrimaryLogPG::finish_ctx | |
| | | | + 0.81% ~map | |
| | | | | + 0.81% ~_Rb_tree | |
| | | | | + 0.81% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| | | | | + 0.81% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| | | | | + 0.81% _M_destroy_node | |
| | | | | + 0.81% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
| | | | | + 0.81% ~_Rb_tree_node | |
| | | | | + 0.81% ~pair | |
| | | | | + 0.81% ~list | |
| | | | | + 0.81% ~list | |
| | | | | + 0.81% ~_List_base | |
| | | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.81% _M_put_node | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% operator= | |
| | | | + 0.40% object_info_t::operator= | |
| | | | + 0.40% operator= | |
| | | | + 0.40% operator= | |
| | | | + 0.40% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::operator= | |
| | | | + 0.40% clear | |
| | | | + 0.40% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::_M_erase | |
| | | | + 0.40% _M_destroy_node | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% PrimaryLogPG::do_osd_ops | |
| | | + 0.40% PrimaryLogPG::write_update_size_and_usage | |
| | | + 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::union_of | |
| | | + 0.40% union_of | |
| | | + 0.40% insert | |
| | | + 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::insert | |
| | | + 0.40% erase | |
| | | + 0.40% erase | |
| | | + 0.40% _M_erase_aux | |
| | | + 0.40% _M_destroy_node | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.81% PrimaryLogPG::calc_trim_to | |
| | | + 0.81% size | |
| | | + 0.81% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | | + 0.81% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 0.40% register_on_success<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% emplace_back<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% _M_insert<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% _M_create_node<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% construct<std::_List_node<std::function<void()> >, PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% _List_node<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% function<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36, void> | |
| | + 0.40% _M_init_functor | |
| | + 0.40% _M_init_functor | |
| | + 0.40% tc_new | |
| | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpansSafe(int, void**, void**) | |
| | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| + 0.81% clear_payload | |
| + 0.81% ceph::buffer::list::clear | |
| + 0.81% clear | |
| + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| + 0.81% destroy<std::_List_node<ceph::buffer::ptr> > | |
| + 0.81% ~_List_node | |
| + 0.81% ~ptr | |
| + 0.81% ceph::buffer::ptr::release | |
| + 0.81% ceph::buffer::raw_combined::~raw_combined | |
| + 0.81% ~raw_combined | |
| + 0.81% ~raw | |
| + 0.81% ~map | |
| + 0.81% ~_Rb_tree | |
| + 0.81% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_erase | |
| + 0.81% _M_destroy_node | |
| + 0.81% _M_put_node | |
| + 0.81% deallocate | |
| + 0.81% tc_delete | |
| + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.81% SpinLock::SlowLock() | |
| + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 6.85% PG::lock | |
+ 6.85% Mutex::Lock | |
+ 6.85% pthread_mutex_lock | |
+ 6.85% _L_lock_812 | |
+ 6.85% __lll_lock_wait | |
Thread: 32 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 86.69% WaitInterval | |
| + 86.69% WaitUntil | |
| + 86.69% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 0.40% __pthread_mutex_cond_lock | |
| + 0.40% _L_cond_lock_789 | |
| + 0.40% __lll_lock_wait | |
+ 8.87% run | |
| + 8.87% PGOpItem::run | |
| + 8.87% OSD::dequeue_op | |
| + 8.87% PrimaryLogPG::do_request | |
| + 8.87% PrimaryLogPG::do_op | |
| + 8.87% PrimaryLogPG::execute_ctx | |
| + 8.06% PrimaryLogPG::issue_repop | |
| | + 8.06% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 5.24% PrimaryLogPG::queue_transactions | |
| | | + 5.24% queue_transactions | |
| | | + 5.24% BlueStore::queue_transactions | |
| | | + 2.82% BlueStore::_txc_add_transaction | |
| | | | + 0.81% begin | |
| | | | | + 0.81% iterator | |
| | | | | + 0.81% ceph::buffer::list::get_contiguous | |
| | | | | + 0.81% erase | |
| | | | | + 0.81% _M_erase | |
| | | | | + 0.81% _M_put_node | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% BlueStore::_write | |
| | | | | + 0.81% BlueStore::_do_write | |
| | | | | + 0.81% BlueStore::_do_write_data | |
| | | | | + 0.81% BlueStore::_do_write_small | |
| | | | | + 0.40% ~function | |
| | | | | | + 0.40% ~_Function_base | |
| | | | | | + 0.40% std::_Function_base::_Base_manager<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | |
| | | | | | + 0.40% _M_destroy | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% BlueStore::_buffer_cache_write | |
| | | | | + 0.40% insert | |
| | | | | + 0.40% std::_Rb_tree<boost::intrusive_ptr<BlueStore::SharedBlob>, boost::intrusive_ptr<BlueStore::SharedBlob>, std::_Identity<boost::intrusive_ptr<BlueStore::SharedBlob> >, std::less<boost::intrusive_ptr<BlueStore::SharedBlob> >, std::allocator<boost::intrusive_ptr<BlueStore::SharedBlob> > >::_M_insert_unique<boost::intrusive_ptr<BlueStore::SharedBlob> const&> | |
| | | | | + 0.40% _M_insert_<boost::intrusive_ptr<BlueStore::SharedBlob> const&> | |
| | | | | + 0.40% _M_create_node<boost::intrusive_ptr<BlueStore::SharedBlob> const&> | |
| | | | | + 0.40% _M_get_node | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | + 0.81% BlueStore::_omap_setkeys | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | + 0.81% PutLengthPrefixedSliceParts | |
| | | | | + 0.81% std::string::append | |
| | | | | + 0.81% std::string::reserve | |
| | | | | + 0.81% _M_dispose | |
| | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::_setattrs | |
| | | | + 0.40% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | |
| | | | + 0.40% ceph::buffer::ptr::release | |
| | | | + 0.40% tc_free | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 2.02% BlueStore::_txc_write_nodes | |
| | | | + 1.61% BlueStore::ExtentMap::update | |
| | | | | + 1.61% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | | + 1.61% operator() | |
| | | | | + 1.61% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.81% combine_strings | |
| | | | | | + 0.81% std::string::append | |
| | | | | | + 0.81% std::string::reserve | |
| | | | | | + 0.81% _M_dispose | |
| | | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | | + 0.81% deallocate | |
| | | | | | + 0.81% tc_delete | |
| | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | + 0.81% PutLengthPrefixedSlice | |
| | | | | + 0.81% std::string::append | |
| | | | | + 0.81% std::string::reserve | |
| | | | | + 0.81% _M_dispose | |
| | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% get_contiguous_appender | |
| | | | + 0.40% ceph::buffer::list::contiguous_appender::contiguous_appender | |
| | | | + 0.40% ceph::buffer::create | |
| | | | + 0.40% ceph::buffer::create_aligned | |
| | | | + 0.40% ceph::buffer::create_aligned_in_mempool | |
| | | | + 0.40% create | |
| | | | + 0.40% tc_posix_memalign | |
| | | | + 0.40% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 0.40% collect_contexts | |
| | | + 0.40% C_ContextsBase<Context, Context>::list_to_context | |
| | | + 0.40% clear | |
| | | + 0.40% _M_clear | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 2.42% PrimaryLogPG::log_operation | |
| | | + 2.42% PG::append_log | |
| | | + 1.61% PG::write_if_dirty | |
| | | | + 1.61% PGLog::write_log_and_missing | |
| | | | + 1.61% PGLog::_write_log_and_missing | |
| | | | + 1.61% pg_log_entry_t::encode_with_checksum | |
| | | | + 1.21% ~list | |
| | | | | + 1.21% ~list | |
| | | | | + 1.21% ~_List_base | |
| | | | | + 1.21% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 1.21% _M_put_node | |
| | | | | + 1.21% deallocate | |
| | | | | + 1.21% tc_delete | |
| | | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 1.21% SpinLock::SlowLock() | |
| | | | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% ceph::buffer::list::crc32c | |
| | | | + 0.40% ceph_crc32c | |
| | | | + 0.40% ceph_crc32c_intel_fast | |
| | | + 0.81% PGLog::IndexedLog::trim | |
| | | + 0.81% PGLog::IndexedLog::unindex | |
| | | + 0.81% erase | |
| | | + 0.81% erase | |
| | | + 0.81% _M_erase | |
| | | + 0.81% _M_erase | |
| | | + 0.81% _M_deallocate_node | |
| | | + 0.81% deallocate | |
| | | + 0.81% tc_delete | |
| | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.81% SpinLock::SlowLock() | |
| | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% generate_transaction | |
| | + 0.40% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | + 0.40% operator() | |
| | + 0.40% ObjectStore::Transaction::setattrs | |
| | + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | + 0.40% ~pair | |
| | + 0.40% ~list | |
| | + 0.40% ~list | |
| | + 0.40% ~_List_base | |
| | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| + 0.40% register_on_success<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% emplace_back<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% _M_insert<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% _M_create_node<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% construct<std::_List_node<std::function<void()> >, PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% _List_node<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | + 0.40% function<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36, void> | |
| | + 0.40% _M_init_functor | |
| | + 0.40% _M_init_functor | |
| | + 0.40% tc_new | |
| | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% PrimaryLogPG::calc_trim_to | |
| + 0.40% size | |
| + 0.40% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.40% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 4.44% PG::lock | |
+ 4.44% Mutex::Lock | |
+ 4.44% pthread_mutex_lock | |
+ 4.44% _L_lock_812 | |
+ 4.44% __lll_lock_wait | |
Thread: 33 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 84.68% WaitInterval | |
| + 84.68% WaitUntil | |
| + 84.68% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 8.47% run | |
| + 8.47% PGOpItem::run | |
| + 8.47% OSD::dequeue_op | |
| + 8.47% PrimaryLogPG::do_request | |
| + 8.47% PrimaryLogPG::do_op | |
| + 8.47% PrimaryLogPG::execute_ctx | |
| + 6.85% PrimaryLogPG::issue_repop | |
| | + 6.85% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 4.44% PrimaryLogPG::queue_transactions | |
| | | + 4.44% queue_transactions | |
| | | + 4.44% BlueStore::queue_transactions | |
| | | + 3.23% BlueStore::_txc_add_transaction | |
| | | | + 2.42% begin | |
| | | | | + 2.42% iterator | |
| | | | | + 2.42% ceph::buffer::list::get_contiguous | |
| | | | | + 2.02% erase | |
| | | | | | + 2.02% _M_erase | |
| | | | | | + 2.02% _M_put_node | |
| | | | | | + 2.02% deallocate | |
| | | | | | + 2.02% tc_delete | |
| | | | | | + 2.02% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 2.02% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 2.02% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 1.61% SpinLock::SlowLock() | |
| | | | | | | + 1.61% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | + 0.40% clear | |
| | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% vector | |
| | | | | + 0.40% _Vector_base | |
| | | | | + 0.40% _M_create_storage | |
| | | | | + 0.40% _M_allocate | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::_omap_setkeys | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | + 0.40% PutLengthPrefixedSliceParts | |
| | | | + 0.40% std::string::append | |
| | | | + 0.40% std::string::reserve | |
| | | | + 0.40% std::string::_Rep::_M_clone | |
| | | | + 0.40% std::string::_Rep::_S_create | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 1.21% BlueStore::_txc_write_nodes | |
| | | + 1.21% BlueStore::ExtentMap::update | |
| | | + 1.21% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | + 1.21% operator() | |
| | | + 1.21% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 1.21% combine_strings | |
| | | + 1.21% std::string::append | |
| | | + 1.21% std::string::reserve | |
| | | + 1.21% _M_dispose | |
| | | + 1.21% std::string::_Rep::_M_destroy | |
| | | + 1.21% deallocate | |
| | | + 1.21% tc_delete | |
| | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 1.21% SpinLock::SlowLock() | |
| | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 2.02% generate_transaction | |
| | | + 2.02% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | + 2.02% operator() | |
| | | + 2.02% ObjectStore::Transaction::setattrs | |
| | | + 2.02% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | + 2.02% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | + 1.61% ~pair | |
| | | | + 1.61% ~list | |
| | | | + 1.61% ~list | |
| | | | + 1.61% ~_List_base | |
| | | | + 1.61% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 1.61% _M_put_node | |
| | | | + 1.61% deallocate | |
| | | | + 1.61% tc_delete | |
| | | | + 1.61% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 1.61% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 1.61% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 1.61% SpinLock::SlowLock() | |
| | | | + 1.61% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% pair<std::basic_string<char> const, ceph::buffer::list, void> | |
| | | + 0.40% ceph::buffer::list::list | |
| | | + 0.40% list | |
| | | + 0.40% _M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> > | |
| | | + 0.40% emplace_back<ceph::buffer::ptr const&> | |
| | | + 0.40% _M_insert<ceph::buffer::ptr const&> | |
| | | + 0.40% _M_create_node<ceph::buffer::ptr const&> | |
| | | + 0.40% _M_get_node | |
| | | + 0.40% allocate | |
| | | + 0.40% tc_new | |
| | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | + 0.40% PrimaryLogPG::log_operation | |
| | + 0.40% PG::append_log | |
| | + 0.40% PG::write_if_dirty | |
| | + 0.40% PGLog::write_log_and_missing | |
| | + 0.40% PGLog::_write_log_and_missing | |
| | + 0.40% pg_log_entry_t::encode_with_checksum | |
| | + 0.40% ~list | |
| | + 0.40% ~list | |
| | + 0.40% ~_List_base | |
| | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 1.21% PrimaryLogPG::prepare_transaction | |
| | + 0.81% PrimaryLogPG::finish_ctx | |
| | | + 0.81% ~map | |
| | | + 0.81% ~_Rb_tree | |
| | | + 0.81% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| | | + 0.81% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| | | + 0.81% _M_destroy_node | |
| | | + 0.81% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
| | | + 0.81% ~_Rb_tree_node | |
| | | + 0.81% ~pair | |
| | | + 0.81% ~list | |
| | | + 0.81% ~list | |
| | | + 0.81% ~_List_base | |
| | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.81% _M_put_node | |
| | | + 0.81% deallocate | |
| | | + 0.81% tc_delete | |
| | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.81% SpinLock::SlowLock() | |
| | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% PrimaryLogPG::do_osd_ops | |
| | + 0.40% PrimaryLogPG::write_update_size_and_usage | |
| | + 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::union_of | |
| | + 0.40% union_of | |
| | + 0.40% insert | |
| | + 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::insert | |
| | + 0.40% erase | |
| | + 0.40% erase | |
| | + 0.40% _M_erase_aux | |
| | + 0.40% _M_destroy_node | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% PrimaryLogPG::calc_trim_to | |
| + 0.40% size | |
| + 0.40% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.40% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 6.85% PG::lock | |
+ 6.85% Mutex::Lock | |
+ 6.85% pthread_mutex_lock | |
+ 6.85% _L_lock_812 | |
+ 6.85% __lll_lock_wait | |
Thread: 34 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 92.34% WaitInterval | |
| + 92.34% WaitUntil | |
| + 92.34% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 6.05% PG::lock | |
| + 6.05% Mutex::Lock | |
| + 6.05% pthread_mutex_lock | |
| + 6.05% _L_lock_812 | |
| + 6.05% __lll_lock_wait | |
+ 1.61% run | |
+ 1.61% PGOpItem::run | |
+ 1.61% OSD::dequeue_op | |
+ 1.61% PrimaryLogPG::do_request | |
+ 1.61% PrimaryLogPG::do_op | |
+ 1.61% PrimaryLogPG::execute_ctx | |
+ 1.21% PrimaryLogPG::issue_repop | |
| + 1.21% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 1.21% PrimaryLogPG::queue_transactions | |
| + 1.21% queue_transactions | |
| + 1.21% BlueStore::queue_transactions | |
| + 0.81% BlueStore::_txc_write_nodes | |
| | + 0.81% BlueStore::ExtentMap::update | |
| | + 0.81% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | + 0.81% operator() | |
| | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | + 0.40% combine_strings | |
| | | + 0.40% std::string::append | |
| | | + 0.40% std::string::reserve | |
| | | + 0.40% std::string::_Rep::_M_clone | |
| | | + 0.40% std::string::_Rep::_S_create | |
| | | + 0.40% allocate | |
| | | + 0.40% tc_new | |
| | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | + 0.40% rocksdb::WriteBatch::Put | |
| | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | + 0.40% PutLengthPrefixedSlice | |
| | + 0.40% std::string::append | |
| | + 0.40% std::string::reserve | |
| | + 0.40% _M_dispose | |
| | + 0.40% std::string::_Rep::_M_destroy | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% BlueStore::_txc_add_transaction | |
| + 0.40% BlueStore::_get_collection | |
| + 0.40% find | |
| + 0.40% find | |
| + 0.40% _M_hash_code | |
| + 0.40% operator() | |
| + 0.40% to_str | |
| + 0.40% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| + 0.40% _S_construct<char const*> | |
| + 0.40% _S_construct_aux<char const*> | |
| + 0.40% char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) | |
| + 0.40% std::string::_Rep::_S_create | |
| + 0.40% allocate | |
| + 0.40% tc_new | |
+ 0.40% PrimaryLogPG::calc_trim_to | |
+ 0.40% size | |
+ 0.40% distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 0.40% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
Thread: 35 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 84.68% WaitInterval | |
| + 84.68% WaitUntil | |
| + 84.68% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 11.69% run | |
| + 11.69% PGOpItem::run | |
| + 11.69% OSD::dequeue_op | |
| + 11.69% PrimaryLogPG::do_request | |
| + 11.69% PrimaryLogPG::do_op | |
| + 11.69% PrimaryLogPG::execute_ctx | |
| + 9.27% PrimaryLogPG::issue_repop | |
| | + 9.27% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 8.06% PrimaryLogPG::queue_transactions | |
| | | + 8.06% queue_transactions | |
| | | + 8.06% BlueStore::queue_transactions | |
| | | + 4.03% BlueStore::_txc_add_transaction | |
| | | | + 1.61% begin | |
| | | | | + 1.61% iterator | |
| | | | | + 1.61% ceph::buffer::list::get_contiguous | |
| | | | | + 1.21% erase | |
| | | | | | + 1.21% _M_erase | |
| | | | | | + 1.21% _M_put_node | |
| | | | | | + 1.21% deallocate | |
| | | | | | + 1.21% tc_delete | |
| | | | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 1.21% SpinLock::SlowLock() | |
| | | | | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | + 0.40% clear | |
| | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 1.21% BlueStore::_omap_setkeys | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | | + 0.81% PutLengthPrefixedSliceParts | |
| | | | | | + 0.81% std::string::append | |
| | | | | | + 0.81% std::string::reserve | |
| | | | | | + 0.40% std::string::_Rep::_M_clone | |
| | | | | | | + 0.40% std::string::_Rep::_S_create | |
| | | | | | | + 0.40% allocate | |
| | | | | | | + 0.40% tc_new | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% _M_dispose | |
| | | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% std::string::push_back | |
| | | | | + 0.40% std::string::reserve | |
| | | | | + 0.40% std::string::_Rep::_M_clone | |
| | | | | + 0.40% std::string::_Rep::_S_create | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% BlueStore::_write | |
| | | | | + 0.81% BlueStore::_do_write | |
| | | | | + 0.81% BlueStore::_do_write_data | |
| | | | | + 0.81% BlueStore::_do_write_small | |
| | | | | + 0.81% ~function | |
| | | | | + 0.81% ~_Function_base | |
| | | | | + 0.81% std::_Function_base::_Base_manager<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | |
| | | | | + 0.81% _M_destroy | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::_omap_rmkeys | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::rmkey | |
| | | | + 0.40% rocksdb::WriteBatch::Delete | |
| | | | + 0.40% rocksdb::WriteBatchInternal::Delete | |
| | | | + 0.40% PutLengthPrefixedSlice | |
| | | | + 0.40% std::string::append | |
| | | | + 0.40% std::string::reserve | |
| | | | + 0.40% _M_dispose | |
| | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 2.42% BlueStore::_txc_write_nodes | |
| | | | + 1.61% BlueStore::ExtentMap::update | |
| | | | | + 1.61% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | | + 1.61% operator() | |
| | | | | + 1.61% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 1.21% combine_strings | |
| | | | | | + 1.21% std::string::append | |
| | | | | | + 1.21% std::string::reserve | |
| | | | | | + 1.21% _M_dispose | |
| | | | | | + 1.21% std::string::_Rep::_M_destroy | |
| | | | | | + 1.21% deallocate | |
| | | | | | + 1.21% tc_delete | |
| | | | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 1.21% SpinLock::SlowLock() | |
| | | | | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | | + 0.40% PutLengthPrefixedSlice | |
| | | | | + 0.40% std::string::append | |
| | | | | + 0.40% std::string::reserve | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.81% combine_strings | |
| | | | + 0.81% operator= | |
| | | | + 0.81% std::string::assign | |
| | | | + 0.81% _M_dispose | |
| | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | + 0.81% deallocate | |
| | | | + 0.81% tc_delete | |
| | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.81% SpinLock::SlowLock() | |
| | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.81% collect_contexts | |
| | | | + 0.81% C_ContextsBase<Context, Context>::list_to_context | |
| | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | + 0.40% clear | |
| | | | + 0.40% _M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | + 0.81% rocksdb::WriteBatch::Put | |
| | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | + 0.81% PutLengthPrefixedSliceParts | |
| | | + 0.81% std::string::append | |
| | | + 0.81% std::string::reserve | |
| | | + 0.81% _M_dispose | |
| | | + 0.81% std::string::_Rep::_M_destroy | |
| | | + 0.81% deallocate | |
| | | + 0.81% tc_delete | |
| | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.81% SpinLock::SlowLock() | |
| | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.81% PrimaryLogPG::log_operation | |
| | | + 0.81% PG::append_log | |
| | | + 0.40% PGLog::IndexedLog::trim | |
| | | | + 0.40% PGLog::IndexedLog::unindex | |
| | | | + 0.40% erase | |
| | | | + 0.40% erase | |
| | | | + 0.40% _M_erase | |
| | | | + 0.40% _M_erase | |
| | | | + 0.40% _M_deallocate_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% PG::write_if_dirty | |
| | | + 0.40% PGLog::write_log_and_missing | |
| | | + 0.40% PGLog::_write_log_and_missing | |
| | | + 0.40% pg_log_entry_t::encode_with_checksum | |
| | | + 0.40% ~list | |
| | | + 0.40% ~list | |
| | | + 0.40% ~_List_base | |
| | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% generate_transaction | |
| | + 0.40% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | + 0.40% operator() | |
| | + 0.40% ObjectStore::Transaction::setattrs | |
| | + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | + 0.40% ~pair | |
| | + 0.40% ~list | |
| | + 0.40% ~list | |
| | + 0.40% ~_List_base | |
| | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 1.21% PrimaryLogPG::calc_trim_to | |
| | + 1.21% size | |
| | + 1.21% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.21% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.81% PrimaryLogPG::prepare_transaction | |
| | + 0.81% PrimaryLogPG::do_osd_ops | |
| | + 0.81% PrimaryLogPG::write_update_size_and_usage | |
| | + 0.81% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::union_of | |
| | + 0.81% union_of | |
| | + 0.81% insert | |
| | + 0.81% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::insert | |
| | + 0.81% erase | |
| | + 0.81% erase | |
| | + 0.81% _M_erase_aux | |
| | + 0.81% _M_destroy_node | |
| | + 0.81% _M_put_node | |
| | + 0.81% deallocate | |
| | + 0.81% tc_delete | |
| | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.81% SpinLock::SlowLock() | |
| | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% MOSDOpReply::MOSDOpReply | |
| + 0.40% object_t | |
| + 0.40% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| + 0.40% _M_grab | |
| + 0.40% _M_is_leaked | |
+ 3.63% PG::lock | |
+ 3.63% Mutex::Lock | |
+ 3.63% pthread_mutex_lock | |
+ 3.63% _L_lock_812 | |
+ 3.63% __lll_lock_wait | |
Thread: 36 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 80.65% WaitInterval | |
| + 80.65% WaitUntil | |
| + 80.65% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 0.40% __pthread_mutex_cond_lock | |
| + 0.40% _L_cond_lock_789 | |
| + 0.40% __lll_lock_wait | |
+ 16.13% run | |
| + 16.13% PGOpItem::run | |
| + 16.13% OSD::dequeue_op | |
| + 16.13% PrimaryLogPG::do_request | |
| + 16.13% PrimaryLogPG::do_op | |
| + 16.13% PrimaryLogPG::execute_ctx | |
| + 12.50% PrimaryLogPG::issue_repop | |
| | + 11.69% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | | + 7.26% PrimaryLogPG::queue_transactions | |
| | | | + 7.26% queue_transactions | |
| | | | + 7.26% BlueStore::queue_transactions | |
| | | | + 4.84% BlueStore::_txc_add_transaction | |
| | | | | + 2.42% begin | |
| | | | | | + 2.42% iterator | |
| | | | | | + 2.42% ceph::buffer::list::get_contiguous | |
| | | | | | + 1.61% erase | |
| | | | | | | + 1.61% _M_erase | |
| | | | | | | + 1.61% _M_put_node | |
| | | | | | | + 1.61% deallocate | |
| | | | | | | + 1.61% tc_delete | |
| | | | | | | + 1.61% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 1.61% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | | + 0.81% ceph::buffer::list::rebuild | |
| | | | | | + 0.81% ceph::buffer::list::rebuild | |
| | | | | | + 0.81% clear | |
| | | | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.81% _M_put_node | |
| | | | | | + 0.81% deallocate | |
| | | | | | + 0.81% tc_delete | |
| | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 1.21% BlueStore::_omap_setkeys | |
| | | | | | + 0.81% operator+= | |
| | | | | | | + 0.81% std::string::append | |
| | | | | | | + 0.81% std::string::reserve | |
| | | | | | | + 0.40% std::string::_Rep::_M_clone | |
| | | | | | | | + 0.40% std::string::_Rep::_S_create | |
| | | | | | | | + 0.40% allocate | |
| | | | | | | | + 0.40% tc_new | |
| | | | | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | | + 0.40% _M_dispose | |
| | | | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | | | + 0.40% deallocate | |
| | | | | | | + 0.40% tc_delete | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | | | + 0.40% PutLengthPrefixedSliceParts | |
| | | | | | + 0.40% std::string::append | |
| | | | | | + 0.40% std::string::reserve | |
| | | | | | + 0.40% _M_dispose | |
| | | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.81% BlueStore::_write | |
| | | | | | + 0.81% BlueStore::_do_write | |
| | | | | | + 0.81% BlueStore::_do_write_data | |
| | | | | | + 0.81% BlueStore::_do_write_small | |
| | | | | | + 0.40% ~function | |
| | | | | | | + 0.40% ~_Function_base | |
| | | | | | | + 0.40% std::_Function_base::_Base_manager<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | |
| | | | | | | + 0.40% _M_destroy | |
| | | | | | | + 0.40% tc_delete | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% BlueStore::_get_deferred_op | |
| | | | | | + 0.40% tc_new | |
| | | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | | + 0.40% decode_attrset | |
| | | | | + 0.40% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | | | + 0.40% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | + 0.40% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | + 0.40% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| | | | | + 0.40% decode | |
| | | | | + 0.40% decode<std::basic_string<char> > | |
| | | | | + 0.40% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr>, _denc::has_legacy_denc<ceph::buffer::ptr, void> > | |
| | | | | + 0.40% decode | |
| | | | | + 0.40% decode | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~_List_base | |
| | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 2.02% BlueStore::_txc_write_nodes | |
| | | | | + 2.02% BlueStore::ExtentMap::update | |
| | | | | + 1.61% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | | | + 1.61% operator() | |
| | | | | | + 1.61% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | + 1.21% combine_strings | |
| | | | | | | + 1.21% std::string::append | |
| | | | | | | + 1.21% std::string::reserve | |
| | | | | | | + 1.21% _M_dispose | |
| | | | | | | + 1.21% std::string::_Rep::_M_destroy | |
| | | | | | | + 1.21% deallocate | |
| | | | | | | + 1.21% tc_delete | |
| | | | | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 1.21% SpinLock::SlowLock() | |
| | | | | | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | | | + 0.40% PutLengthPrefixedSlice | |
| | | | | | + 0.40% std::string::append | |
| | | | | | + 0.40% std::string::reserve | |
| | | | | | + 0.40% _M_dispose | |
| | | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% reserve | |
| | | | | + 0.40% _M_allocate_and_copy<BlueStore::ExtentMap::update(KeyValueDB::Transaction, bool)::dirty_shard_t*> | |
| | | | | + 0.40% _M_allocate | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | + 0.40% PutLengthPrefixedSliceParts | |
| | | | + 0.40% std::string::append | |
| | | | + 0.40% std::string::reserve | |
| | | | + 0.40% _M_dispose | |
| | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 3.23% PrimaryLogPG::log_operation | |
| | | | + 3.23% PG::append_log | |
| | | | + 2.42% PGLog::IndexedLog::trim | |
| | | | | + 2.42% PGLog::IndexedLog::unindex | |
| | | | | + 2.42% erase | |
| | | | | + 2.42% erase | |
| | | | | + 2.42% _M_erase | |
| | | | | + 2.42% _M_erase | |
| | | | | + 2.42% _M_deallocate_node | |
| | | | | + 2.42% deallocate | |
| | | | | + 2.42% tc_delete | |
| | | | | + 2.42% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 2.42% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 2.42% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 2.42% SpinLock::SlowLock() | |
| | | | | + 2.42% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% PG::write_if_dirty | |
| | | | + 0.81% ObjectStore::Transaction::omap_setkeys | |
| | | | + 0.81% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | + 0.81% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.81% ~pair | |
| | | | + 0.81% ~list | |
| | | | + 0.81% ~list | |
| | | | + 0.81% ~_List_base | |
| | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.81% _M_put_node | |
| | | | + 0.81% deallocate | |
| | | | + 0.81% tc_delete | |
| | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.81% SpinLock::SlowLock() | |
| | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 1.21% generate_transaction | |
| | | + 1.21% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | + 1.21% operator() | |
| | | + 1.21% ObjectStore::Transaction::setattrs | |
| | | + 1.21% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | + 0.81% encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.81% encode_nohead<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.81% ~pair | |
| | | | + 0.81% ~list | |
| | | | + 0.81% ~list | |
| | | | + 0.81% ~_List_base | |
| | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.81% _M_put_node | |
| | | | + 0.81% deallocate | |
| | | | + 0.81% tc_delete | |
| | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.81% SpinLock::SlowLock() | |
| | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | + 0.40% ~pair | |
| | | + 0.40% ~list | |
| | | + 0.40% ~list | |
| | | + 0.40% ~_List_base | |
| | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% tc_new | |
| | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | + 0.40% add | |
| | + 0.40% push_back | |
| | + 0.40% _M_insert<pg_log_entry_t const&> | |
| | + 0.40% _M_create_node<pg_log_entry_t const&> | |
| | + 0.40% _M_get_node | |
| | + 0.40% allocate | |
| | + 0.40% tc_newarray | |
| | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 2.42% PrimaryLogPG::calc_trim_to | |
| | + 2.42% size | |
| | + 2.42% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 2.42% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 1.21% PrimaryLogPG::prepare_transaction | |
| + 0.81% PrimaryLogPG::do_osd_ops | |
| | + 0.81% PrimaryLogPG::write_update_size_and_usage | |
| | + 0.81% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::union_of | |
| | + 0.81% union_of | |
| | + 0.40% operator= | |
| | | + 0.40% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::operator= | |
| | | + 0.40% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::_M_copy | |
| | | + 0.40% _M_clone_node | |
| | | + 0.40% _M_create_node<std::pair<unsigned long const, unsigned long> const&> | |
| | | + 0.40% _M_get_node | |
| | | + 0.40% allocate | |
| | | + 0.40% tc_new | |
| | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | + 0.40% insert | |
| | + 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::insert | |
| | + 0.40% erase | |
| | + 0.40% erase | |
| | + 0.40% _M_erase_aux | |
| | + 0.40% _M_destroy_node | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% PrimaryLogPG::finish_ctx | |
| + 0.40% ~map | |
| + 0.40% ~_Rb_tree | |
| + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| + 0.40% _M_destroy_node | |
| + 0.40% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
| + 0.40% ~_Rb_tree_node | |
| + 0.40% ~pair | |
| + 0.40% ~list | |
| + 0.40% ~list | |
| + 0.40% ~_List_base | |
| + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| + 0.40% _M_put_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| + 0.40% tcmalloc::PageHeap::Delete(tcmalloc::Span*) | |
| + 0.40% tcmalloc::PageHeap::MergeIntoFreeList(tcmalloc::Span*) | |
| + 0.40% tcmalloc::PageHeap::DecommitSpan(tcmalloc::Span*) | |
| + 0.40% TCMalloc_SystemRelease(void*, unsigned long) | |
| + 0.40% madvise | |
+ 3.23% PG::lock | |
+ 3.23% Mutex::Lock | |
+ 3.23% pthread_mutex_lock | |
+ 3.23% _L_lock_812 | |
+ 3.23% __lll_lock_wait | |
Thread: 37 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 80.24% WaitInterval | |
| + 80.24% WaitUntil | |
| + 80.24% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 13.31% run | |
| + 13.31% PGOpItem::run | |
| + 13.31% OSD::dequeue_op | |
| + 13.31% PrimaryLogPG::do_request | |
| + 13.31% PrimaryLogPG::do_op | |
| + 12.50% PrimaryLogPG::execute_ctx | |
| | + 10.08% PrimaryLogPG::issue_repop | |
| | | + 10.08% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | | + 4.44% PrimaryLogPG::queue_transactions | |
| | | | + 4.44% queue_transactions | |
| | | | + 4.44% BlueStore::queue_transactions | |
| | | | + 2.02% BlueStore::_txc_add_transaction | |
| | | | | + 1.21% begin | |
| | | | | | + 1.21% iterator | |
| | | | | | + 1.21% ceph::buffer::list::get_contiguous | |
| | | | | | + 0.81% erase | |
| | | | | | | + 0.81% _M_erase | |
| | | | | | | + 0.81% _M_put_node | |
| | | | | | | + 0.81% deallocate | |
| | | | | | | + 0.81% tc_delete | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | | + 0.40% clear | |
| | | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.40% _M_put_node | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% vector | |
| | | | | | + 0.40% _Vector_base | |
| | | | | | + 0.40% _M_create_storage | |
| | | | | | + 0.40% _M_allocate | |
| | | | | | + 0.40% allocate | |
| | | | | | + 0.40% tc_new | |
| | | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | | + 0.40% decode_attrset | |
| | | | | + 0.40% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | | | + 0.40% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | + 0.40% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | + 0.40% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| | | | | + 0.40% decode | |
| | | | | + 0.40% decode<std::basic_string<char> > | |
| | | | | + 0.40% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr>, _denc::has_legacy_denc<ceph::buffer::ptr, void> > | |
| | | | | + 0.40% decode | |
| | | | | + 0.40% decode | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~_List_base | |
| | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | + 0.81% PutLengthPrefixedSliceParts | |
| | | | | + 0.81% std::string::append | |
| | | | | + 0.81% std::string::reserve | |
| | | | | + 0.81% _M_dispose | |
| | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% BlueStore::_txc_write_nodes | |
| | | | | + 0.81% BlueStore::ExtentMap::update | |
| | | | | + 0.81% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | | + 0.81% operator() | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.81% combine_strings | |
| | | | | + 0.81% std::string::append | |
| | | | | + 0.81% std::string::reserve | |
| | | | | + 0.81% _M_dispose | |
| | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% collect_contexts | |
| | | | | + 0.40% C_ContextsBase<Context, Context>::list_to_context | |
| | | | | + 0.40% clear | |
| | | | | + 0.40% _M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::_txc_create | |
| | | | + 0.40% RocksDBStore::get_transaction | |
| | | | + 0.40% make_shared<RocksDBStore::RocksDBTransactionImpl, RocksDBStore* const> | |
| | | | + 0.40% allocate_shared<RocksDBStore::RocksDBTransactionImpl, std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | + 0.40% shared_ptr<std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | + 0.40% __shared_ptr<std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | + 0.40% __shared_count<RocksDBStore::RocksDBTransactionImpl, std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | + 0.40% allocate | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 2.82% generate_transaction | |
| | | | + 2.82% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | | + 2.82% operator() | |
| | | | + 2.82% ObjectStore::Transaction::setattrs | |
| | | | + 2.42% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | | + 2.02% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | | + 2.02% ~pair | |
| | | | | | + 2.02% ~list | |
| | | | | | + 2.02% ~list | |
| | | | | | + 2.02% ~_List_base | |
| | | | | | + 2.02% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 2.02% _M_put_node | |
| | | | | | + 2.02% deallocate | |
| | | | | | + 2.02% tc_delete | |
| | | | | | + 2.02% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 2.02% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 1.61% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 1.21% SpinLock::SlowLock() | |
| | | | | | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | | + 0.40% encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | + 0.40% encode_nohead<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | + 0.40% denc<std::pair<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | | + 0.40% encode<std::basic_string<char> > | |
| | | | | + 0.40% denc<ceph::buffer::list, denc_traits<ceph::buffer::list> > | |
| | | | | + 0.40% encode | |
| | | | | + 0.40% append | |
| | | | | + 0.40% ceph::buffer::list::append | |
| | | | | + 0.40% push_back | |
| | | | | + 0.40% _M_insert<ceph::buffer::ptr const&> | |
| | | | | + 0.40% _M_create_node<ceph::buffer::ptr const&> | |
| | | | | + 0.40% _M_get_node | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% ObjectStore::Transaction::_get_object_id | |
| | | | + 0.40% operator[] | |
| | | | + 0.40% std::_Rb_tree<ghobject_t, std::pair<ghobject_t const, unsigned int>, std::_Select1st<std::pair<ghobject_t const, unsigned int> >, std::less<ghobject_t>, std::allocator<std::pair<ghobject_t const, unsigned int> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<ghobject_t const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<ghobject_t const, unsigned int> >, std::piecewise_construct_t const&, std::tuple<ghobject_t const&>&&, std::tuple<>&&) | |
| | | | + 0.40% _M_create_node<const std::piecewise_construct_t&, std::tuple<const ghobject_t&>, std::tuple<> > | |
| | | | + 0.40% construct<std::_Rb_tree_node<std::pair<const ghobject_t, unsigned int> >, const std::piecewise_construct_t&, std::tuple<const ghobject_t&>, std::tuple<> > | |
| | | | + 0.40% _S_construct<std::_Rb_tree_node<std::pair<const ghobject_t, unsigned int> >, const std::piecewise_construct_t&, std::tuple<const ghobject_t&>, std::tuple<> > | |
| | | | + 0.40% construct<std::_Rb_tree_node<std::pair<const ghobject_t, unsigned int> >, const std::piecewise_construct_t&, std::tuple<const ghobject_t&>, std::tuple<> > | |
| | | | + 0.40% _Rb_tree_node<const std::piecewise_construct_t&, std::tuple<const ghobject_t&>, std::tuple<> > | |
| | | | + 0.40% pair<ghobject_t const&> | |
| | | | + 0.40% pair<ghobject_t const&, 0ul> | |
| | | | + 0.40% ghobject_t | |
| | | | + 0.40% hobject_t::hobject_t | |
| | | + 2.82% PrimaryLogPG::log_operation | |
| | | + 2.82% PG::append_log | |
| | | + 2.02% PG::write_if_dirty | |
| | | | + 1.61% PGLog::write_log_and_missing | |
| | | | | + 1.61% PGLog::_write_log_and_missing | |
| | | | | + 1.21% pg_log_entry_t::encode_with_checksum | |
| | | | | | + 1.21% ~list | |
| | | | | | + 1.21% ~list | |
| | | | | | + 1.21% ~_List_base | |
| | | | | | + 1.21% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 1.21% _M_put_node | |
| | | | | | + 1.21% deallocate | |
| | | | | | + 1.21% tc_delete | |
| | | | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% pg_log_entry_t::get_key_name | |
| | | | | + 0.40% eversion_t::get_key_name | |
| | | | | + 0.40% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | | | | + 0.40% std::string::_S_construct | |
| | | | | + 0.40% std::string::_Rep::_S_create | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% ObjectStore::Transaction::omap_setkeys | |
| | | | + 0.40% ObjectStore::Transaction::_get_object_id | |
| | | | + 0.40% operator[] | |
| | | | + 0.40% std::_Rb_tree<ghobject_t, std::pair<ghobject_t const, unsigned int>, std::_Select1st<std::pair<ghobject_t const, unsigned int> >, std::less<ghobject_t>, std::allocator<std::pair<ghobject_t const, unsigned int> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<ghobject_t const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<ghobject_t const, unsigned int> >, std::piecewise_construct_t const&, std::tuple<ghobject_t const&>&&, std::tuple<>&&) | |
| | | | + 0.40% _M_create_node<const std::piecewise_construct_t&, std::tuple<const ghobject_t&>, std::tuple<> > | |
| | | | + 0.40% _M_get_node | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% PGLog::IndexedLog::trim | |
| | | | + 0.40% pop_front | |
| | | | + 0.40% _M_erase | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_deletearray | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% PG::update_snap_map | |
| | | + 0.40% get_transaction | |
| | | + 0.40% OSTransaction | |
| | | + 0.40% ghobject_t | |
| | | + 0.40% hobject_t::hobject_t | |
| | + 1.21% PrimaryLogPG::prepare_transaction | |
| | | + 0.81% PrimaryLogPG::finish_ctx | |
| | | | + 0.81% ~map | |
| | | | + 0.81% ~_Rb_tree | |
| | | | + 0.81% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| | | | + 0.81% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| | | | + 0.81% _M_destroy_node | |
| | | | + 0.81% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
| | | | + 0.81% ~_Rb_tree_node | |
| | | | + 0.81% ~pair | |
| | | | + 0.81% ~list | |
| | | | + 0.81% ~list | |
| | | | + 0.81% ~_List_base | |
| | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.81% _M_put_node | |
| | | | + 0.81% deallocate | |
| | | | + 0.81% tc_delete | |
| | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.81% SpinLock::SlowLock() | |
| | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% PrimaryLogPG::do_osd_ops | |
| | | + 0.40% PrimaryLogPG::write_update_size_and_usage | |
| | | + 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::union_of | |
| | | + 0.40% union_of | |
| | | + 0.40% insert | |
| | | + 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::insert | |
| | | + 0.40% erase | |
| | | + 0.40% erase | |
| | | + 0.40% _M_erase_aux | |
| | | + 0.40% _M_destroy_node | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.81% reset_obs | |
| | | + 0.81% operator= | |
| | | + 0.81% object_info_t::operator=(object_info_t&&) | |
| | | + 0.81% operator= | |
| | | + 0.81% operator= | |
| | | + 0.81% clear | |
| | | + 0.81% clear | |
| | | + 0.81% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::_M_erase | |
| | | + 0.81% _M_destroy_node | |
| | | + 0.81% _M_put_node | |
| | | + 0.81% deallocate | |
| | | + 0.81% tc_delete | |
| | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.81% SpinLock::SlowLock() | |
| | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% PrimaryLogPG::calc_trim_to | |
| | + 0.40% size | |
| | + 0.40% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 0.40% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.40% clear_payload | |
| | + 0.40% ceph::buffer::list::clear | |
| | + 0.40% clear | |
| | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.40% destroy<std::_List_node<ceph::buffer::ptr> > | |
| | + 0.40% ~_List_node | |
| | + 0.40% ~ptr | |
| | + 0.40% ceph::buffer::ptr::release | |
| | + 0.40% ceph::buffer::raw_combined::~raw_combined | |
| | + 0.40% ~raw_combined | |
| | + 0.40% ~raw | |
| | + 0.40% ~map | |
| | + 0.40% ~_Rb_tree | |
| | + 0.40% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_erase | |
| | + 0.40% _M_destroy_node | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% PG::op_has_sufficient_caps | |
| + 0.40% OSDCap::is_capable | |
| + 0.40% ~vector | |
| + 0.40% ~_Bvector_base | |
| + 0.40% _M_deallocate | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 6.45% PG::lock | |
+ 6.45% Mutex::Lock | |
+ 6.45% pthread_mutex_lock | |
+ 6.45% _L_lock_812 | |
+ 6.45% __lll_lock_wait | |
Thread: 38 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 89.52% WaitInterval | |
| + 89.52% WaitUntil | |
| + 89.52% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 8.06% run | |
| + 8.06% PGOpItem::run | |
| + 8.06% OSD::dequeue_op | |
| + 8.06% PrimaryLogPG::do_request | |
| + 8.06% PrimaryLogPG::do_op | |
| + 7.66% PrimaryLogPG::execute_ctx | |
| | + 6.05% PrimaryLogPG::issue_repop | |
| | | + 6.05% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | | + 4.44% PrimaryLogPG::queue_transactions | |
| | | | + 4.44% queue_transactions | |
| | | | + 4.44% BlueStore::queue_transactions | |
| | | | + 2.42% BlueStore::_txc_add_transaction | |
| | | | | + 0.81% begin | |
| | | | | | + 0.81% iterator | |
| | | | | | + 0.81% ceph::buffer::list::get_contiguous | |
| | | | | | + 0.40% erase | |
| | | | | | | + 0.40% _M_erase | |
| | | | | | | + 0.40% _M_put_node | |
| | | | | | | + 0.40% deallocate | |
| | | | | | | + 0.40% tc_delete | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | | + 0.40% clear | |
| | | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.40% _M_put_node | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.81% BlueStore::_omap_setkeys | |
| | | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | | + 0.81% PutLengthPrefixedSliceParts | |
| | | | | | + 0.81% std::string::append | |
| | | | | | + 0.81% std::string::reserve | |
| | | | | | + 0.81% _M_dispose | |
| | | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | | + 0.81% deallocate | |
| | | | | | + 0.81% tc_delete | |
| | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% decode_attrset | |
| | | | | | + 0.40% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | | | | + 0.40% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | | + 0.40% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | | + 0.40% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| | | | | | + 0.40% decode | |
| | | | | | + 0.40% decode<std::basic_string<char> > | |
| | | | | | + 0.40% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr>, _denc::has_legacy_denc<ceph::buffer::ptr, void> > | |
| | | | | | + 0.40% decode | |
| | | | | | + 0.40% decode | |
| | | | | | + 0.40% ~list | |
| | | | | | + 0.40% ~list | |
| | | | | | + 0.40% ~_List_base | |
| | | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.40% _M_put_node | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% BlueStore::_write | |
| | | | | + 0.40% BlueStore::_do_write | |
| | | | | + 0.40% BlueStore::_do_write_data | |
| | | | | + 0.40% BlueStore::_do_write_small | |
| | | | | + 0.40% BlueStore::ExtentMap::set_lextent | |
| | | | | + 0.40% BlueStore::ExtentMap::punch_hole | |
| | | | | + 0.40% BlueStore::ExtentMap::rm | |
| | | | | + 0.40% erase_and_dispose<BlueStore::ExtentMap::DeleteDisposer> | |
| | | | | + 0.40% operator() | |
| | | | | + 0.40% BlueStore::Extent::operator delete | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_deletearray | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% BlueStore::_txc_create | |
| | | | | + 0.40% RocksDBStore::get_transaction | |
| | | | | | + 0.40% make_shared<RocksDBStore::RocksDBTransactionImpl, RocksDBStore* const> | |
| | | | | | + 0.40% allocate_shared<RocksDBStore::RocksDBTransactionImpl, std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | | | + 0.40% shared_ptr<std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | | | + 0.40% __shared_ptr<std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | | | + 0.40% __shared_count<RocksDBStore::RocksDBTransactionImpl, std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | | | + 0.40% allocate | |
| | | | | | + 0.40% allocate | |
| | | | | | + 0.40% tc_new | |
| | | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | | + 0.40% BlueStore::TransContext::operator new | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_newarray | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | + 0.40% collect_contexts | |
| | | | | + 0.40% C_ContextsBase<Context, Context>::list_to_context | |
| | | | | + 0.40% clear | |
| | | | | + 0.40% _M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | | + 0.40% PutLengthPrefixedSliceParts | |
| | | | | + 0.40% std::string::append | |
| | | | | + 0.40% std::string::reserve | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::_txc_write_nodes | |
| | | | + 0.40% BlueStore::ExtentMap::update | |
| | | | + 0.40% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | + 0.40% operator() | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.40% combine_strings | |
| | | | + 0.40% std::string::append | |
| | | | + 0.40% std::string::reserve | |
| | | | + 0.40% _M_dispose | |
| | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 1.21% PrimaryLogPG::log_operation | |
| | | | + 1.21% PG::append_log | |
| | | | + 1.21% PG::write_if_dirty | |
| | | | + 1.21% PGLog::write_log_and_missing | |
| | | | + 1.21% PGLog::_write_log_and_missing | |
| | | | + 1.21% pg_log_entry_t::encode_with_checksum | |
| | | | + 1.21% ~list | |
| | | | + 1.21% ~list | |
| | | | + 1.21% ~_List_base | |
| | | | + 1.21% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 1.21% _M_put_node | |
| | | | + 1.21% deallocate | |
| | | | + 1.21% tc_delete | |
| | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 1.21% SpinLock::SlowLock() | |
| | | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% generate_transaction | |
| | | + 0.40% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | + 0.40% pop_front | |
| | | + 0.40% _M_erase | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.81% PrimaryLogPG::prepare_transaction | |
| | | + 0.40% PrimaryLogPG::finish_ctx | |
| | | | + 0.40% PGTransaction::setattrs | |
| | | | + 0.40% operator[] | |
| | | | + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, boost::optional<ceph::buffer::list> >, std::_Select1st<std::pair<std::string const, boost::optional<ceph::buffer::list> > >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::optional<ceph::buffer::list> > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::string const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::string const, boost::optional<ceph::buffer::list> > >, std::piecewise_construct_t const&, std::tuple<std::string const&>&&, std::tuple<>&&) | |
| | | | + 0.40% _M_create_node<const std::piecewise_construct_t&, std::tuple<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, std::tuple<> > | |
| | | | + 0.40% _M_get_node | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 0.40% PrimaryLogPG::do_osd_ops | |
| | | + 0.40% PrimaryLogPG::write_update_size_and_usage | |
| | | + 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::union_of | |
| | | + 0.40% union_of | |
| | | + 0.40% insert | |
| | | + 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::insert | |
| | | + 0.40% erase | |
| | | + 0.40% erase | |
| | | + 0.40% _M_erase_aux | |
| | | + 0.40% _M_destroy_node | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% register_on_success<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | | + 0.40% emplace_back<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | | + 0.40% _M_insert<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | | + 0.40% _M_create_node<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | | + 0.40% construct<std::_List_node<std::function<void()> >, PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | | + 0.40% _List_node<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | | + 0.40% function<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36, void> | |
| | | + 0.40% _M_init_functor | |
| | | + 0.40% _M_init_functor | |
| | | + 0.40% tc_new | |
| | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | + 0.40% PrimaryLogPG::calc_trim_to | |
| | + 0.40% size | |
| | + 0.40% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 0.40% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.40% clear_payload | |
| + 0.40% ceph::buffer::list::clear | |
| + 0.40% clear | |
| + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| + 0.40% destroy<std::_List_node<ceph::buffer::ptr> > | |
| + 0.40% ~_List_node | |
| + 0.40% ~ptr | |
| + 0.40% ceph::buffer::ptr::release | |
| + 0.40% ceph::buffer::raw_combined::~raw_combined | |
| + 0.40% ~raw_combined | |
| + 0.40% ~raw | |
| + 0.40% ~map | |
| + 0.40% ~_Rb_tree | |
| + 0.40% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_erase | |
| + 0.40% _M_destroy_node | |
| + 0.40% _M_put_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 2.42% PG::lock | |
+ 2.42% Mutex::Lock | |
+ 2.42% pthread_mutex_lock | |
+ 2.42% _L_lock_812 | |
+ 2.42% __lll_lock_wait | |
Thread: 39 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 79.44% WaitInterval | |
| + 79.44% WaitUntil | |
| + 79.44% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 11.29% run | |
| + 11.29% PGOpItem::run | |
| + 11.29% OSD::dequeue_op | |
| + 11.29% PrimaryLogPG::do_request | |
| + 11.29% PrimaryLogPG::do_op | |
| + 11.29% PrimaryLogPG::execute_ctx | |
| + 9.27% PrimaryLogPG::issue_repop | |
| | + 9.27% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 5.24% PrimaryLogPG::queue_transactions | |
| | | + 5.24% queue_transactions | |
| | | + 5.24% BlueStore::queue_transactions | |
| | | + 3.23% BlueStore::_txc_add_transaction | |
| | | | + 1.21% BlueStore::_omap_setkeys | |
| | | | | + 1.21% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 1.21% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | + 1.21% rocksdb::WriteBatch::Put | |
| | | | | + 1.21% rocksdb::WriteBatchInternal::Put | |
| | | | | + 1.21% PutLengthPrefixedSliceParts | |
| | | | | + 1.21% std::string::append | |
| | | | | + 1.21% std::string::reserve | |
| | | | | + 1.21% _M_dispose | |
| | | | | + 1.21% std::string::_Rep::_M_destroy | |
| | | | | + 1.21% deallocate | |
| | | | | + 1.21% tc_delete | |
| | | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 1.21% SpinLock::SlowLock() | |
| | | | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% begin | |
| | | | | + 0.81% iterator | |
| | | | | + 0.81% ceph::buffer::list::get_contiguous | |
| | | | | + 0.40% erase | |
| | | | | | + 0.40% _M_erase | |
| | | | | | + 0.40% _M_put_node | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | + 0.40% clear | |
| | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% vector | |
| | | | | + 0.40% _Vector_base | |
| | | | | + 0.40% _M_create_storage | |
| | | | | + 0.40% _M_allocate | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | + 0.40% BlueStore::_write | |
| | | | | + 0.40% BlueStore::_do_write | |
| | | | | + 0.40% BlueStore::_do_write_data | |
| | | | | + 0.40% BlueStore::_do_write_small | |
| | | | | + 0.40% ~function | |
| | | | | + 0.40% ~_Function_base | |
| | | | | + 0.40% std::_Function_base::_Base_manager<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | |
| | | | | + 0.40% _M_destroy | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::_get_collection | |
| | | | + 0.40% find | |
| | | | + 0.40% find | |
| | | | + 0.40% _M_hash_code | |
| | | | + 0.40% operator() | |
| | | | + 0.40% ~basic_string | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | + 0.40% vector | |
| | | | | + 0.40% _Vector_base | |
| | | | | + 0.40% _M_create_storage | |
| | | | | + 0.40% _M_allocate | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | + 0.40% PutLengthPrefixedSliceParts | |
| | | | + 0.40% std::string::append | |
| | | | + 0.40% std::string::reserve | |
| | | | + 0.40% _M_dispose | |
| | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.81% BlueStore::_txc_write_nodes | |
| | | | + 0.81% BlueStore::ExtentMap::update | |
| | | | + 0.81% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | + 0.81% operator() | |
| | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | + 0.81% PutLengthPrefixedSlice | |
| | | | + 0.81% std::string::append | |
| | | | + 0.81% std::string::reserve | |
| | | | + 0.81% _M_dispose | |
| | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | + 0.81% deallocate | |
| | | | + 0.81% tc_delete | |
| | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.81% SpinLock::SlowLock() | |
| | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% collect_contexts | |
| | | + 0.40% C_ContextsBase<Context, Context>::list_to_context | |
| | | + 0.40% clear | |
| | | + 0.40% _M_clear | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 2.42% generate_transaction | |
| | | + 2.42% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | + 2.02% operator() | |
| | | | + 2.02% ObjectStore::Transaction::setattrs | |
| | | | + 2.02% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | + 1.21% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | + 0.81% ~pair | |
| | | | | | + 0.81% ~list | |
| | | | | | + 0.81% ~list | |
| | | | | | + 0.81% ~_List_base | |
| | | | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.81% _M_put_node | |
| | | | | | + 0.81% deallocate | |
| | | | | | + 0.81% tc_delete | |
| | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% pair<std::basic_string<char> const, ceph::buffer::list, void> | |
| | | | | + 0.40% ceph::buffer::list::list | |
| | | | | + 0.40% list | |
| | | | | + 0.40% _M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> > | |
| | | | | + 0.40% emplace_back<ceph::buffer::ptr const&> | |
| | | | | + 0.40% _M_insert<ceph::buffer::ptr const&> | |
| | | | | + 0.40% _M_create_node<ceph::buffer::ptr const&> | |
| | | | | + 0.40% _M_get_node | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.81% encode_nohead<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.81% denc<std::pair<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | + 0.81% encode<std::basic_string<char> > | |
| | | | + 0.81% denc<ceph::buffer::list, denc_traits<ceph::buffer::list> > | |
| | | | + 0.81% encode | |
| | | | + 0.81% append | |
| | | | + 0.40% flush_and_continue | |
| | | | | + 0.40% ceph::buffer::list::append(ceph::buffer::ptr&&) | |
| | | | | + 0.40% push_back | |
| | | | | + 0.40% push_back | |
| | | | | + 0.40% _M_insert<ceph::buffer::ptr> | |
| | | | | + 0.40% _M_create_node<ceph::buffer::ptr> | |
| | | | | + 0.40% _M_get_node | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | + 0.40% ceph::buffer::list::append | |
| | | | + 0.40% push_back | |
| | | | + 0.40% _M_insert<ceph::buffer::ptr const&> | |
| | | | + 0.40% _M_create_node<ceph::buffer::ptr const&> | |
| | | | + 0.40% _M_get_node | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% pop_front | |
| | | + 0.40% _M_erase | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.81% PrimaryLogPG::log_operation | |
| | | + 0.81% PG::append_log | |
| | | + 0.40% PGLog::IndexedLog::trim | |
| | | | + 0.40% PGLog::IndexedLog::unindex | |
| | | | + 0.40% erase | |
| | | | + 0.40% erase | |
| | | | + 0.40% _M_erase | |
| | | | + 0.40% _M_erase | |
| | | | + 0.40% _M_deallocate_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% PG::write_if_dirty | |
| | | + 0.40% PGLog::write_log_and_missing | |
| | | + 0.40% PGLog::_write_log_and_missing | |
| | | + 0.40% pg_log_entry_t::encode_with_checksum | |
| | | + 0.40% ~list | |
| | | + 0.40% ~list | |
| | | + 0.40% ~_List_base | |
| | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% ~vector | |
| | | + 0.40% _Destroy<ObjectStore::Transaction*, ObjectStore::Transaction> | |
| | | + 0.40% _Destroy<ObjectStore::Transaction*> | |
| | | + 0.40% __destroy<ObjectStore::Transaction*> | |
| | | + 0.40% _Destroy<ObjectStore::Transaction> | |
| | | + 0.40% ObjectStore::Transaction::~Transaction | |
| | | + 0.40% ~list | |
| | | + 0.40% ~list | |
| | | + 0.40% ~_List_base | |
| | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.40% destroy<std::_List_node<ceph::buffer::ptr> > | |
| | | + 0.40% ~_List_node | |
| | | + 0.40% ~ptr | |
| | | + 0.40% ceph::buffer::ptr::release | |
| | | + 0.40% tc_free | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% ~unique_ptr | |
| | + 0.40% operator() | |
| | + 0.40% ~PGTransaction | |
| | + 0.40% ~map | |
| | + 0.40% ~_Rb_tree | |
| | + 0.40% std::_Rb_tree<hobject_t, std::pair<hobject_t const, PGTransaction::ObjectOperation>, std::_Select1st<std::pair<hobject_t const, PGTransaction::ObjectOperation> >, std::less<hobject_t>, std::allocator<std::pair<hobject_t const, PGTransaction::ObjectOperation> > >::_M_erase | |
| | + 0.40% _M_destroy_node | |
| | + 0.40% destroy<std::_Rb_tree_node<std::pair<hobject_t const, PGTransaction::ObjectOperation> > > | |
| | + 0.40% ~_Rb_tree_node | |
| | + 0.40% ~pair | |
| | + 0.40% ~ObjectOperation | |
| | + 0.40% ~map | |
| | + 0.40% ~_Rb_tree | |
| | + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, boost::optional<ceph::buffer::list> >, std::_Select1st<std::pair<std::string const, boost::optional<ceph::buffer::list> > >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::optional<ceph::buffer::list> > > >::_M_erase | |
| | + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, boost::optional<ceph::buffer::list> >, std::_Select1st<std::pair<std::string const, boost::optional<ceph::buffer::list> > >, std::less<std::string>, std::allocator<std::pair<std::string const, boost::optional<ceph::buffer::list> > > >::_M_erase | |
| | + 0.40% _M_destroy_node | |
| | + 0.40% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, boost::optional<ceph::buffer::list> > > > | |
| | + 0.40% ~_Rb_tree_node | |
| | + 0.40% ~pair | |
| | + 0.40% ~optional | |
| | + 0.40% ~optional_base | |
| | + 0.40% destroy | |
| | + 0.40% destroy_impl | |
| | + 0.40% ~list | |
| | + 0.40% ~list | |
| | + 0.40% ~_List_base | |
| | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.40% destroy<std::_List_node<ceph::buffer::ptr> > | |
| | + 0.40% ~_List_node | |
| | + 0.40% ~ptr | |
| | + 0.40% ceph::buffer::ptr::release | |
| | + 0.40% tc_free | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 1.21% PrimaryLogPG::prepare_transaction | |
| | + 0.81% PrimaryLogPG::finish_ctx | |
| | | + 0.81% ~map | |
| | | + 0.81% ~_Rb_tree | |
| | | + 0.81% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| | | + 0.81% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| | | + 0.81% _M_destroy_node | |
| | | + 0.81% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
| | | + 0.81% ~_Rb_tree_node | |
| | | + 0.81% ~pair | |
| | | + 0.81% ~list | |
| | | + 0.81% ~list | |
| | | + 0.81% ~_List_base | |
| | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.81% _M_put_node | |
| | | + 0.81% deallocate | |
| | | + 0.81% tc_delete | |
| | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.81% SpinLock::SlowLock() | |
| | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% PrimaryLogPG::do_osd_ops | |
| | + 0.40% PrimaryLogPG::write_update_size_and_usage | |
| | + 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::union_of | |
| | + 0.40% union_of | |
| | + 0.40% insert | |
| | + 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::insert | |
| | + 0.40% erase | |
| | + 0.40% erase | |
| | + 0.40% _M_erase_aux | |
| | + 0.40% _M_destroy_node | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.81% PrimaryLogPG::calc_trim_to | |
| + 0.81% size | |
| + 0.81% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.81% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 9.27% PG::lock | |
+ 9.27% Mutex::Lock | |
+ 9.27% pthread_mutex_lock | |
+ 9.27% _L_lock_812 | |
+ 9.27% __lll_lock_wait | |
Thread: 40 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 79.84% WaitInterval | |
| + 79.84% WaitUntil | |
| + 79.84% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 14.11% run | |
| + 14.11% PGOpItem::run | |
| + 14.11% OSD::dequeue_op | |
| + 14.11% PrimaryLogPG::do_request | |
| + 14.11% PrimaryLogPG::do_op | |
| + 13.71% PrimaryLogPG::execute_ctx | |
| | + 12.50% PrimaryLogPG::issue_repop | |
| | | + 12.50% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | | + 5.65% PrimaryLogPG::queue_transactions | |
| | | | + 5.65% queue_transactions | |
| | | | + 5.65% BlueStore::queue_transactions | |
| | | | + 3.23% BlueStore::_txc_add_transaction | |
| | | | | + 1.61% BlueStore::_omap_setkeys | |
| | | | | | + 1.21% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | | + 1.21% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | | + 1.21% rocksdb::WriteBatch::Put | |
| | | | | | | + 1.21% rocksdb::WriteBatchInternal::Put | |
| | | | | | | + 1.21% PutLengthPrefixedSliceParts | |
| | | | | | | + 0.81% std::string::append | |
| | | | | | | | + 0.81% std::string::reserve | |
| | | | | | | | + 0.81% _M_dispose | |
| | | | | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | | | | + 0.81% deallocate | |
| | | | | | | | + 0.81% tc_delete | |
| | | | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | | + 0.40% PutVarint32 | |
| | | | | | | + 0.40% std::string::append | |
| | | | | | | + 0.40% std::string::reserve | |
| | | | | | | + 0.40% _M_dispose | |
| | | | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | | | + 0.40% deallocate | |
| | | | | | | + 0.40% tc_delete | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% decode | |
| | | | | | + 0.40% ceph::buffer::list::iterator::copy | |
| | | | | | + 0.40% ceph::buffer::list::iterator_impl<false>::copy | |
| | | | | | + 0.40% ceph::buffer::list::append | |
| | | | | | + 0.40% push_back | |
| | | | | | + 0.40% push_back | |
| | | | | | + 0.40% _M_insert<ceph::buffer::ptr> | |
| | | | | | + 0.40% _M_create_node<ceph::buffer::ptr> | |
| | | | | | + 0.40% _M_get_node | |
| | | | | | + 0.40% allocate | |
| | | | | | + 0.40% tc_new | |
| | | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | | + 0.81% decode_attrset | |
| | | | | | + 0.81% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | | | | + 0.81% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | | + 0.81% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | | + 0.81% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| | | | | | + 0.81% decode | |
| | | | | | + 0.81% decode<std::basic_string<char> > | |
| | | | | | + 0.81% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr>, _denc::has_legacy_denc<ceph::buffer::ptr, void> > | |
| | | | | | + 0.81% decode | |
| | | | | | + 0.81% decode | |
| | | | | | + 0.81% ~list | |
| | | | | | + 0.81% ~list | |
| | | | | | + 0.81% ~_List_base | |
| | | | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.81% _M_put_node | |
| | | | | | + 0.81% deallocate | |
| | | | | | + 0.81% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% tcmalloc::ThreadCache::IncreaseCacheLimit() | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.81% BlueStore::_write | |
| | | | | + 0.81% BlueStore::_do_write | |
| | | | | + 0.81% BlueStore::_do_write_data | |
| | | | | + 0.81% BlueStore::_do_write_small | |
| | | | | + 0.81% ~function | |
| | | | | + 0.81% ~_Function_base | |
| | | | | + 0.81% std::_Function_base::_Base_manager<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | |
| | | | | + 0.81% _M_destroy | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 2.02% BlueStore::_txc_write_nodes | |
| | | | | + 1.61% BlueStore::ExtentMap::update | |
| | | | | | + 1.61% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | | | + 1.61% operator() | |
| | | | | | + 1.61% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | + 0.81% combine_strings | |
| | | | | | | + 0.81% std::string::append | |
| | | | | | | + 0.81% std::string::reserve | |
| | | | | | | + 0.81% _M_dispose | |
| | | | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | | | + 0.81% deallocate | |
| | | | | | | + 0.81% tc_delete | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | | + 0.81% PutLengthPrefixedSlice | |
| | | | | | + 0.81% std::string::append | |
| | | | | | + 0.81% std::string::reserve | |
| | | | | | + 0.81% _M_dispose | |
| | | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | | + 0.81% deallocate | |
| | | | | | + 0.81% tc_delete | |
| | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.40% combine_strings | |
| | | | | + 0.40% operator= | |
| | | | | + 0.40% std::string::assign | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | + 0.40% PutLengthPrefixedSliceParts | |
| | | | + 0.40% std::string::append | |
| | | | + 0.40% std::string::reserve | |
| | | | + 0.40% _M_dispose | |
| | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 3.63% PrimaryLogPG::log_operation | |
| | | | + 3.63% PG::append_log | |
| | | | + 1.61% PGLog::IndexedLog::trim | |
| | | | | + 1.61% PGLog::IndexedLog::unindex | |
| | | | | + 1.61% erase | |
| | | | | + 1.61% erase | |
| | | | | + 1.61% _M_erase | |
| | | | | + 1.61% _M_erase | |
| | | | | + 1.61% _M_deallocate_node | |
| | | | | + 1.61% deallocate | |
| | | | | + 1.61% tc_delete | |
| | | | | + 1.61% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 1.61% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 1.61% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 1.21% SpinLock::SlowLock() | |
| | | | | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | + 1.61% PG::write_if_dirty | |
| | | | | + 0.81% PGLog::write_log_and_missing | |
| | | | | | + 0.81% PGLog::_write_log_and_missing | |
| | | | | | + 0.81% pg_log_entry_t::encode_with_checksum | |
| | | | | | + 0.81% ~list | |
| | | | | | + 0.81% ~list | |
| | | | | | + 0.81% ~_List_base | |
| | | | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.81% _M_put_node | |
| | | | | | + 0.81% deallocate | |
| | | | | | + 0.81% tc_delete | |
| | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.81% ObjectStore::Transaction::omap_setkeys | |
| | | | | + 0.81% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | | + 0.81% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | + 0.81% ~pair | |
| | | | | + 0.81% ~list | |
| | | | | + 0.81% ~list | |
| | | | | + 0.81% ~_List_base | |
| | | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.81% _M_put_node | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% register_on_applied | |
| | | | + 0.40% push_back | |
| | | | + 0.40% _M_insert<Context* const&> | |
| | | | + 0.40% _M_create_node<Context* const&> | |
| | | | + 0.40% _M_get_node | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 2.02% generate_transaction | |
| | | | + 2.02% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | | + 2.02% operator() | |
| | | | + 1.61% ObjectStore::Transaction::setattrs | |
| | | | | + 1.61% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | | + 1.61% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | + 1.61% ~pair | |
| | | | | + 1.61% ~list | |
| | | | | + 1.61% ~list | |
| | | | | + 1.61% ~_List_base | |
| | | | | + 1.61% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 1.61% _M_put_node | |
| | | | | + 1.61% deallocate | |
| | | | | + 1.61% tc_delete | |
| | | | | + 1.61% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 1.61% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 1.61% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 1.61% SpinLock::SlowLock() | |
| | | | | + 1.61% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% operator[] | |
| | | | + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::string const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::string const, ceph::buffer::list> >, std::piecewise_construct_t const&, std::tuple<std::string const&>&&, std::tuple<>&&) | |
| | | | + 0.40% _M_create_node<const std::piecewise_construct_t&, std::tuple<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, std::tuple<> > | |
| | | | + 0.40% _M_get_node | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | + 0.81% push_back | |
| | | | + 0.81% std::vector<ObjectStore::Transaction, std::allocator<ObjectStore::Transaction> >::emplace_back<ObjectStore::Transaction>(ObjectStore::Transaction&&) | |
| | | | + 0.81% std::vector<ObjectStore::Transaction, std::allocator<ObjectStore::Transaction> >::_M_emplace_back_aux<ObjectStore::Transaction>(ObjectStore::Transaction&&) | |
| | | | + 0.81% _M_allocate | |
| | | | + 0.81% allocate | |
| | | | + 0.81% tc_new | |
| | | | + 0.81% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.81% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.81% SpinLock::SlowLock() | |
| | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% ~vector | |
| | | + 0.40% _Destroy<ObjectStore::Transaction*, ObjectStore::Transaction> | |
| | | + 0.40% _Destroy<ObjectStore::Transaction*> | |
| | | + 0.40% __destroy<ObjectStore::Transaction*> | |
| | | + 0.40% _Destroy<ObjectStore::Transaction> | |
| | | + 0.40% ObjectStore::Transaction::~Transaction | |
| | | + 0.40% ~ptr | |
| | | + 0.40% ceph::buffer::ptr::release | |
| | | + 0.40% tc_free | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 1.21% PrimaryLogPG::calc_trim_to | |
| | + 1.21% size | |
| | + 1.21% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.21% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.40% clear_payload | |
| + 0.40% ceph::buffer::list::clear | |
| + 0.40% clear | |
| + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| + 0.40% destroy<std::_List_node<ceph::buffer::ptr> > | |
| + 0.40% ~_List_node | |
| + 0.40% ~ptr | |
| + 0.40% ceph::buffer::ptr::release | |
| + 0.40% ceph::buffer::raw_combined::~raw_combined | |
| + 0.40% ~raw_combined | |
| + 0.40% ~raw | |
| + 0.40% ~map | |
| + 0.40% ~_Rb_tree | |
| + 0.40% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_erase | |
| + 0.40% _M_destroy_node | |
| + 0.40% _M_put_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 6.05% PG::lock | |
+ 6.05% Mutex::Lock | |
+ 6.05% pthread_mutex_lock | |
+ 6.05% _L_lock_812 | |
+ 6.05% __lll_lock_wait | |
Thread: 41 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 88.31% WaitInterval | |
| + 88.31% WaitUntil | |
| + 88.31% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 8.06% PG::lock | |
| + 8.06% Mutex::Lock | |
| + 8.06% pthread_mutex_lock | |
| + 8.06% _L_lock_812 | |
| + 8.06% __lll_lock_wait | |
+ 3.63% run | |
+ 3.63% PGOpItem::run | |
+ 3.63% OSD::dequeue_op | |
+ 3.63% PrimaryLogPG::do_request | |
+ 3.63% PrimaryLogPG::do_op | |
+ 3.63% PrimaryLogPG::execute_ctx | |
+ 3.23% PrimaryLogPG::issue_repop | |
| + 3.23% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| + 1.21% PrimaryLogPG::queue_transactions | |
| | + 1.21% queue_transactions | |
| | + 1.21% BlueStore::queue_transactions | |
| | + 1.21% BlueStore::_txc_add_transaction | |
| | + 0.40% BlueStore::_write | |
| | | + 0.40% BlueStore::_do_write | |
| | | + 0.40% BlueStore::_do_write_data | |
| | | + 0.40% BlueStore::_do_write_small | |
| | | + 0.40% ~function | |
| | | + 0.40% ~_Function_base | |
| | | + 0.40% std::_Function_base::_Base_manager<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | |
| | | + 0.40% _M_destroy | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% BlueStore::_omap_setkeys | |
| | | + 0.40% std::string::push_back | |
| | | + 0.40% std::string::reserve | |
| | | + 0.40% _M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% BlueStore::_get_collection | |
| | + 0.40% find | |
| | + 0.40% find | |
| | + 0.40% _M_hash_code | |
| | + 0.40% operator() | |
| | + 0.40% ~basic_string | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 1.21% PrimaryLogPG::log_operation | |
| | + 1.21% PG::append_log | |
| | + 0.81% PG::write_if_dirty | |
| | | + 0.81% PGLog::write_log_and_missing | |
| | | + 0.81% PGLog::_write_log_and_missing | |
| | | + 0.40% pg_log_entry_t::get_key_name | |
| | | | + 0.40% eversion_t::get_key_name | |
| | | | + 0.40% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | | | + 0.40% std::string::_S_construct | |
| | | | + 0.40% std::string::_Rep::_S_create | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% pg_log_entry_t::encode_with_checksum | |
| | | + 0.40% ~list | |
| | | + 0.40% ~list | |
| | | + 0.40% ~_List_base | |
| | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% PGLog::IndexedLog::trim | |
| | + 0.40% PGLog::IndexedLog::unindex | |
| | + 0.40% erase | |
| | + 0.40% erase | |
| | + 0.40% _M_erase | |
| | + 0.40% _M_erase | |
| | + 0.40% _M_deallocate_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.81% generate_transaction | |
| + 0.81% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| + 0.81% operator() | |
| + 0.81% ObjectStore::Transaction::setattrs | |
| + 0.81% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| + 0.40% get_contiguous_appender | |
| | + 0.40% ceph::buffer::list::contiguous_appender::contiguous_appender | |
| | + 0.40% ceph::buffer::create | |
| | + 0.40% ceph::buffer::create_aligned | |
| | + 0.40% ceph::buffer::create_aligned_in_mempool | |
| | + 0.40% create | |
| | + 0.40% tc_posix_memalign | |
| | + 0.40% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
| | + 0.40% tcmalloc::AlignmentForSize(unsigned long) | |
| + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| + 0.40% ~pair | |
| + 0.40% ~list | |
| + 0.40% ~list | |
| + 0.40% ~_List_base | |
| + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| + 0.40% _M_put_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 0.40% reset_obs | |
+ 0.40% operator= | |
+ 0.40% object_info_t::operator=(object_info_t&&) | |
+ 0.40% operator= | |
+ 0.40% operator= | |
+ 0.40% clear | |
+ 0.40% clear | |
+ 0.40% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::_M_erase | |
+ 0.40% _M_destroy_node | |
+ 0.40% _M_put_node | |
+ 0.40% deallocate | |
+ 0.40% tc_delete | |
+ 0.40% tcmalloc::ThreadCache::Scavenge() | |
+ 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
+ 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
+ 0.40% SpinLock::SlowLock() | |
+ 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
Thread: 42 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 86.29% WaitInterval | |
| + 86.29% WaitUntil | |
| + 86.29% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 10.89% run | |
| + 10.89% PGOpItem::run | |
| + 10.89% OSD::dequeue_op | |
| + 10.89% PrimaryLogPG::do_request | |
| + 10.89% PrimaryLogPG::do_op | |
| + 10.48% PrimaryLogPG::execute_ctx | |
| | + 9.68% PrimaryLogPG::issue_repop | |
| | | + 8.87% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | | | + 4.84% PrimaryLogPG::queue_transactions | |
| | | | | + 4.84% queue_transactions | |
| | | | | + 4.84% BlueStore::queue_transactions | |
| | | | | + 3.23% BlueStore::_txc_add_transaction | |
| | | | | | + 0.81% begin | |
| | | | | | | + 0.81% iterator | |
| | | | | | | + 0.81% ceph::buffer::list::get_contiguous | |
| | | | | | | + 0.40% erase | |
| | | | | | | | + 0.40% _M_erase | |
| | | | | | | | + 0.40% _M_put_node | |
| | | | | | | | + 0.40% deallocate | |
| | | | | | | | + 0.40% tc_delete | |
| | | | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | | | + 0.40% clear | |
| | | | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | | + 0.40% _M_put_node | |
| | | | | | | + 0.40% deallocate | |
| | | | | | | + 0.40% tc_delete | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.81% BlueStore::_omap_setkeys | |
| | | | | | | + 0.40% std::string::push_back | |
| | | | | | | | + 0.40% std::string::reserve | |
| | | | | | | | + 0.40% _M_dispose | |
| | | | | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | | | | + 0.40% deallocate | |
| | | | | | | | + 0.40% tc_delete | |
| | | | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | | | | + 0.40% PutLengthPrefixedSliceParts | |
| | | | | | | + 0.40% std::string::append | |
| | | | | | | + 0.40% std::string::reserve | |
| | | | | | | + 0.40% _M_dispose | |
| | | | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | | | + 0.40% deallocate | |
| | | | | | | + 0.40% tc_delete | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% decode_attrset | |
| | | | | | | + 0.40% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | | | | | + 0.40% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | | | + 0.40% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | | | + 0.40% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| | | | | | | + 0.40% decode | |
| | | | | | | + 0.40% decode<std::basic_string<char> > | |
| | | | | | | + 0.40% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr>, _denc::has_legacy_denc<ceph::buffer::ptr, void> > | |
| | | | | | | + 0.40% decode | |
| | | | | | | + 0.40% decode | |
| | | | | | | + 0.40% ~list | |
| | | | | | | + 0.40% ~list | |
| | | | | | | + 0.40% ~_List_base | |
| | | | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | | + 0.40% _M_put_node | |
| | | | | | | + 0.40% deallocate | |
| | | | | | | + 0.40% tc_delete | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% BlueStore::_write | |
| | | | | | | + 0.40% BlueStore::_do_write | |
| | | | | | | + 0.40% BlueStore::_do_write_data | |
| | | | | | | + 0.40% BlueStore::_do_write_small | |
| | | | | | | + 0.40% ~function | |
| | | | | | | + 0.40% ~_Function_base | |
| | | | | | | + 0.40% std::_Function_base::_Base_manager<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | |
| | | | | | | + 0.40% _M_destroy | |
| | | | | | | + 0.40% tc_delete | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% BlueStore::_setattrs | |
| | | | | | | + 0.40% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | |
| | | | | | | + 0.40% ceph::buffer::ptr::release | |
| | | | | | | + 0.40% tc_free | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% BlueStore::_omap_rmkeys | |
| | | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::rmkey | |
| | | | | | + 0.40% rocksdb::WriteBatch::Delete | |
| | | | | | + 0.40% rocksdb::WriteBatchInternal::Delete | |
| | | | | | + 0.40% PutLengthPrefixedSlice | |
| | | | | | + 0.40% std::string::append | |
| | | | | | + 0.40% std::string::reserve | |
| | | | | | + 0.40% std::string::_Rep::_M_clone | |
| | | | | | + 0.40% std::string::_Rep::_S_create | |
| | | | | | + 0.40% allocate | |
| | | | | | + 0.40% tc_new | |
| | | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | | + 0.40% collect_contexts | |
| | | | | | + 0.40% C_ContextsBase<Context, Context>::list_to_context | |
| | | | | | + 0.40% clear | |
| | | | | | + 0.40% _M_clear | |
| | | | | | + 0.40% _M_put_node | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% SpinLock::SpinLoop(long, int*) | |
| | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | | | + 0.40% PutLengthPrefixedSliceParts | |
| | | | | | + 0.40% std::string::append | |
| | | | | | + 0.40% std::string::reserve | |
| | | | | | + 0.40% _M_dispose | |
| | | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% BlueStore::_txc_write_nodes | |
| | | | | | + 0.40% BlueStore::ExtentMap::update | |
| | | | | | + 0.40% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | | | + 0.40% operator() | |
| | | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | | | + 0.40% PutLengthPrefixedSlice | |
| | | | | | + 0.40% std::string::append | |
| | | | | | + 0.40% std::string::reserve | |
| | | | | | + 0.40% _M_dispose | |
| | | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% BlueStore::_txc_create | |
| | | | | + 0.40% RocksDBStore::get_transaction | |
| | | | | + 0.40% make_shared<RocksDBStore::RocksDBTransactionImpl, RocksDBStore* const> | |
| | | | | + 0.40% allocate_shared<RocksDBStore::RocksDBTransactionImpl, std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | | + 0.40% shared_ptr<std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | | + 0.40% __shared_ptr<std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | | + 0.40% __shared_count<RocksDBStore::RocksDBTransactionImpl, std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 2.02% PrimaryLogPG::log_operation | |
| | | | | + 2.02% PG::append_log | |
| | | | | + 1.21% PG::write_if_dirty | |
| | | | | | + 0.81% ObjectStore::Transaction::omap_setkeys | |
| | | | | | | + 0.81% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | | | | + 0.81% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | | | + 0.81% ~pair | |
| | | | | | | + 0.81% ~list | |
| | | | | | | + 0.81% ~list | |
| | | | | | | + 0.81% ~_List_base | |
| | | | | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | | + 0.81% _M_put_node | |
| | | | | | | + 0.81% deallocate | |
| | | | | | | + 0.81% tc_delete | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% PGLog::write_log_and_missing | |
| | | | | | + 0.40% PGLog::_write_log_and_missing | |
| | | | | | + 0.40% pg_log_entry_t::encode_with_checksum | |
| | | | | | + 0.40% ~list | |
| | | | | | + 0.40% ~list | |
| | | | | | + 0.40% ~_List_base | |
| | | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.40% _M_put_node | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.81% PGLog::IndexedLog::trim | |
| | | | | + 0.81% PGLog::IndexedLog::unindex | |
| | | | | + 0.81% erase | |
| | | | | + 0.81% erase | |
| | | | | + 0.81% _M_erase | |
| | | | | + 0.81% _M_erase | |
| | | | | + 0.81% _M_deallocate_node | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 1.21% generate_transaction | |
| | | | | + 1.21% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | | | + 1.21% operator() | |
| | | | | + 1.21% ObjectStore::Transaction::setattrs | |
| | | | | + 1.21% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | | + 1.21% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | + 1.21% ~pair | |
| | | | | + 1.21% ~list | |
| | | | | + 1.21% ~list | |
| | | | | + 1.21% ~_List_base | |
| | | | | + 1.21% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 1.21% _M_put_node | |
| | | | | + 1.21% deallocate | |
| | | | | + 1.21% tc_delete | |
| | | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 1.21% SpinLock::SlowLock() | |
| | | | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% ~vector | |
| | | | | + 0.40% _Destroy<ObjectStore::Transaction*, ObjectStore::Transaction> | |
| | | | | + 0.40% _Destroy<ObjectStore::Transaction*> | |
| | | | | + 0.40% __destroy<ObjectStore::Transaction*> | |
| | | | | + 0.40% _Destroy<ObjectStore::Transaction> | |
| | | | | + 0.40% ObjectStore::Transaction::~Transaction | |
| | | | | + 0.40% ~ptr | |
| | | | | + 0.40% ceph::buffer::ptr::release | |
| | | | | + 0.40% tc_free | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% insert<std::pair<unsigned long, ReplicatedBackend::InProgressOp>, void> | |
| | | | + 0.40% std::_Rb_tree<unsigned long, std::pair<unsigned long const, ReplicatedBackend::InProgressOp>, std::_Select1st<std::pair<unsigned long const, ReplicatedBackend::InProgressOp> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, ReplicatedBackend::InProgressOp> > >::_M_insert_unique<std::pair<unsigned long, ReplicatedBackend::InProgressOp> >(std::pair<unsigned long, ReplicatedBackend::InProgressOp>&&) | |
| | | | + 0.40% _M_insert_<std::pair<unsigned long, ReplicatedBackend::InProgressOp> > | |
| | | | + 0.40% _M_create_node<std::pair<unsigned long, ReplicatedBackend::InProgressOp> > | |
| | | | + 0.40% _M_get_node | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.81% add | |
| | | + 0.81% push_back | |
| | | + 0.81% _M_insert<pg_log_entry_t const&> | |
| | | + 0.81% _M_create_node<pg_log_entry_t const&> | |
| | | + 0.81% _M_get_node | |
| | | + 0.81% allocate | |
| | | + 0.81% tc_newarray | |
| | | + 0.81% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.81% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | + 0.40% _ZN8tcmalloc10DLL_RemoveEPNS_4SpanE@plt | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% register_on_success<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | | + 0.40% emplace_back<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | | + 0.40% _M_insert<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | | + 0.40% _M_create_node<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | | + 0.40% construct<std::_List_node<std::function<void()> >, PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | | + 0.40% _List_node<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36> | |
| | | + 0.40% function<PrimaryLogPG::execute_ctx(PrimaryLogPG::OpContext*)::__lambda36, void> | |
| | | + 0.40% _M_init_functor | |
| | | + 0.40% _M_init_functor | |
| | | + 0.40% tc_new | |
| | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | + 0.40% PrimaryLogPG::prepare_transaction | |
| | + 0.40% PrimaryLogPG::do_osd_ops | |
| | + 0.40% PrimaryLogPG::write_update_size_and_usage | |
| | + 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::union_of | |
| | + 0.40% union_of | |
| | + 0.40% interval_set<unsigned long, std::map<unsigned long, unsigned long, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > > >::subtract | |
| | + 0.40% erase | |
| | + 0.40% operator[] | |
| | + 0.40% _M_emplace_hint_unique<const std::piecewise_construct_t&, std::tuple<long unsigned int&&>, std::tuple<> > | |
| | + 0.40% _M_create_node<const std::piecewise_construct_t&, std::tuple<long unsigned int&&>, std::tuple<> > | |
| | + 0.40% _M_get_node | |
| | + 0.40% allocate | |
| | + 0.40% tc_new | |
| | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| + 0.40% clear_payload | |
| + 0.40% ceph::buffer::list::clear | |
| + 0.40% clear | |
| + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| + 0.40% destroy<std::_List_node<ceph::buffer::ptr> > | |
| + 0.40% ~_List_node | |
| + 0.40% ~ptr | |
| + 0.40% ceph::buffer::ptr::release | |
| + 0.40% ceph::buffer::raw_combined::~raw_combined | |
| + 0.40% ~raw_combined | |
| + 0.40% ~raw | |
| + 0.40% ~map | |
| + 0.40% ~_Rb_tree | |
| + 0.40% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_erase | |
| + 0.40% _M_destroy_node | |
| + 0.40% _M_put_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 2.82% PG::lock | |
+ 2.82% Mutex::Lock | |
+ 2.82% pthread_mutex_lock | |
+ 2.82% _L_lock_812 | |
+ 2.82% __lll_lock_wait | |
Thread: 43 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 83.06% WaitInterval | |
| + 83.06% WaitUntil | |
| + 83.06% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 12.90% run | |
| + 12.90% PGOpItem::run | |
| + 12.90% OSD::dequeue_op | |
| + 12.90% PrimaryLogPG::do_request | |
| + 12.90% PrimaryLogPG::do_op | |
| + 12.50% PrimaryLogPG::execute_ctx | |
| | + 10.48% PrimaryLogPG::issue_repop | |
| | | + 10.48% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | | + 7.26% PrimaryLogPG::queue_transactions | |
| | | | + 7.26% queue_transactions | |
| | | | + 7.26% BlueStore::queue_transactions | |
| | | | + 4.03% BlueStore::_txc_add_transaction | |
| | | | | + 1.21% decode_attrset | |
| | | | | | + 1.21% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | | | | + 1.21% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | | + 1.21% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | | + 0.81% insert<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | | | | | + 0.81% emplace_hint<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | | | | | + 0.81% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::ptr>, std::_Select1st<std::pair<std::string const, ceph::buffer::ptr> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >::_M_emplace_hint_unique<std::pair<std::string, ceph::buffer::ptr> >(std::_Rb_tree_const_iterator<std::pair<std::string const, ceph::buffer::ptr> >, std::pair<std::string, ceph::buffer::ptr>&&) | |
| | | | | | | + 0.81% _M_create_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | | | | | + 0.81% _M_get_node | |
| | | | | | | + 0.81% allocate | |
| | | | | | | + 0.81% tc_new | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | | + 0.81% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| | | | | | + 0.40% decode | |
| | | | | | + 0.40% decode<std::basic_string<char> > | |
| | | | | | + 0.40% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr>, _denc::has_legacy_denc<ceph::buffer::ptr, void> > | |
| | | | | | + 0.40% decode | |
| | | | | | + 0.40% decode | |
| | | | | | + 0.40% ~list | |
| | | | | | + 0.40% ~list | |
| | | | | | + 0.40% ~_List_base | |
| | | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.40% _M_put_node | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 1.21% BlueStore::_write | |
| | | | | | + 1.21% BlueStore::_do_write | |
| | | | | | + 1.21% BlueStore::_do_write_data | |
| | | | | | + 1.21% BlueStore::_do_write_small | |
| | | | | | + 0.81% ~function | |
| | | | | | | + 0.81% ~_Function_base | |
| | | | | | | + 0.81% std::_Function_base::_Base_manager<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | |
| | | | | | | + 0.81% _M_destroy | |
| | | | | | | + 0.81% tc_delete | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% BlueStore::ExtentMap::set_lextent | |
| | | | | | + 0.40% BlueStore::Blob::get_ref | |
| | | | | | + 0.40% is_empty | |
| | | | | | + 0.40% is_not_empty | |
| | | | | + 0.81% begin | |
| | | | | | + 0.81% iterator | |
| | | | | | + 0.81% ceph::buffer::list::get_contiguous | |
| | | | | | + 0.81% erase | |
| | | | | | + 0.81% _M_erase | |
| | | | | | + 0.81% _M_put_node | |
| | | | | | + 0.81% deallocate | |
| | | | | | + 0.81% tc_delete | |
| | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.81% BlueStore::_omap_setkeys | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | + 0.81% PutLengthPrefixedSliceParts | |
| | | | | + 0.81% std::string::append | |
| | | | | + 0.81% std::string::reserve | |
| | | | | + 0.81% _M_dispose | |
| | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 2.02% BlueStore::_txc_write_nodes | |
| | | | | + 1.61% BlueStore::ExtentMap::update | |
| | | | | | + 1.61% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | | | + 1.61% operator() | |
| | | | | | + 1.61% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | + 0.81% combine_strings | |
| | | | | | | + 0.81% std::string::append | |
| | | | | | | + 0.81% std::string::reserve | |
| | | | | | | + 0.81% _M_dispose | |
| | | | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | | | + 0.81% deallocate | |
| | | | | | | + 0.81% tc_delete | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | | + 0.81% PutLengthPrefixedSlice | |
| | | | | | + 0.81% std::string::append | |
| | | | | | + 0.81% std::string::reserve | |
| | | | | | + 0.81% _M_dispose | |
| | | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | | + 0.81% deallocate | |
| | | | | | + 0.81% tc_delete | |
| | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.40% combine_strings | |
| | | | | + 0.40% operator= | |
| | | | | + 0.40% std::string::assign | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% collect_contexts | |
| | | | | + 0.40% C_ContextsBase<Context, Context>::list_to_context | |
| | | | | + 0.40% clear | |
| | | | | + 0.40% _M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | + 0.40% rocksdb::WriteBatch::Put | |
| | | | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | | | + 0.40% PutLengthPrefixedSliceParts | |
| | | | | + 0.40% std::string::append | |
| | | | | + 0.40% std::string::reserve | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::_txc_create | |
| | | | + 0.40% RocksDBStore::get_transaction | |
| | | | + 0.40% make_shared<RocksDBStore::RocksDBTransactionImpl, RocksDBStore* const> | |
| | | | + 0.40% allocate_shared<RocksDBStore::RocksDBTransactionImpl, std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | + 0.40% shared_ptr<std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | + 0.40% __shared_ptr<std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | + 0.40% __shared_count<RocksDBStore::RocksDBTransactionImpl, std::allocator<RocksDBStore::RocksDBTransactionImpl>, RocksDBStore* const> | |
| | | | + 0.40% allocate | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% SpinLock::SlowUnlock(unsigned long) | |
| | | | + 0.40% base::internal::SpinLockWake(int volatile*, bool) | |
| | | + 2.02% PrimaryLogPG::log_operation | |
| | | | + 2.02% PG::append_log | |
| | | | + 0.81% PGLog::IndexedLog::trim | |
| | | | | + 0.81% PGLog::IndexedLog::unindex | |
| | | | | + 0.81% erase | |
| | | | | + 0.81% erase | |
| | | | | + 0.81% _M_erase | |
| | | | | + 0.81% _M_erase | |
| | | | | + 0.81% _M_deallocate_node | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% PG::write_if_dirty | |
| | | | | + 0.40% PGLog::write_log_and_missing | |
| | | | | | + 0.40% PGLog::_write_log_and_missing | |
| | | | | | + 0.40% pg_log_entry_t::encode_with_checksum | |
| | | | | | + 0.40% ~list | |
| | | | | | + 0.40% ~list | |
| | | | | | + 0.40% ~_List_base | |
| | | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | + 0.40% _M_put_node | |
| | | | | | + 0.40% deallocate | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% ObjectStore::Transaction::omap_setkeys | |
| | | | | + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | + 0.40% ~pair | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~_List_base | |
| | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | + 0.40% PG::add_log_entry | |
| | | | + 0.40% add | |
| | | | + 0.40% PGLog::IndexedLog::add | |
| | | | + 0.40% operator[] | |
| | | | + 0.40% std::__detail::_Map_base<osd_reqid_t, std::pair<osd_reqid_t const, pg_log_entry_t*>, std::allocator<std::pair<osd_reqid_t const, pg_log_entry_t*> >, std::__detail::_Select1st, std::equal_to<osd_reqid_t>, std::hash<osd_reqid_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[] | |
| | | | + 0.40% _M_allocate_node<const std::piecewise_construct_t&, std::tuple<const osd_reqid_t&>, std::tuple<> > | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 1.21% generate_transaction | |
| | | + 1.21% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | + 1.21% operator() | |
| | | + 1.21% ObjectStore::Transaction::setattrs | |
| | | + 0.81% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | + 0.81% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.81% ~pair | |
| | | | + 0.81% ~list | |
| | | | + 0.81% ~list | |
| | | | + 0.81% ~_List_base | |
| | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.81% _M_put_node | |
| | | | + 0.81% deallocate | |
| | | | + 0.81% tc_delete | |
| | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.81% SpinLock::SlowLock() | |
| | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% ObjectStore::Transaction::_get_coll_id | |
| | | + 0.40% operator[] | |
| | | + 0.40% std::_Rb_tree<coll_t, std::pair<coll_t const, unsigned int>, std::_Select1st<std::pair<coll_t const, unsigned int> >, std::less<coll_t>, std::allocator<std::pair<coll_t const, unsigned int> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<coll_t const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<coll_t const, unsigned int> >, std::piecewise_construct_t const&, std::tuple<coll_t const&>&&, std::tuple<>&&) | |
| | | + 0.40% _M_create_node<const std::piecewise_construct_t&, std::tuple<const coll_t&>, std::tuple<> > | |
| | | + 0.40% _M_get_node | |
| | | + 0.40% allocate | |
| | | + 0.40% tc_new | |
| | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | + 0.81% reset_obs | |
| | | + 0.81% operator= | |
| | | + 0.81% object_info_t::operator=(object_info_t&&) | |
| | | + 0.81% operator= | |
| | | + 0.81% operator= | |
| | | + 0.81% clear | |
| | | + 0.81% clear | |
| | | + 0.81% std::_Rb_tree<unsigned long, std::pair<unsigned long const, unsigned long>, std::_Select1st<std::pair<unsigned long const, unsigned long> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, unsigned long> > >::_M_erase | |
| | | + 0.81% _M_destroy_node | |
| | | + 0.81% _M_put_node | |
| | | + 0.81% deallocate | |
| | | + 0.81% tc_delete | |
| | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.81% SpinLock::SlowLock() | |
| | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.81% PrimaryLogPG::calc_trim_to | |
| | | + 0.81% size | |
| | | + 0.81% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | | + 0.81% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 0.40% PrimaryLogPG::prepare_transaction | |
| | + 0.40% PrimaryLogPG::finish_ctx | |
| | + 0.40% ~map | |
| | + 0.40% ~_Rb_tree | |
| | + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| | + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::list>, std::_Select1st<std::pair<std::string const, ceph::buffer::list> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >::_M_erase | |
| | + 0.40% _M_destroy_node | |
| | + 0.40% destroy<std::_Rb_tree_node<std::pair<std::basic_string<char> const, ceph::buffer::list> > > | |
| | + 0.40% ~_Rb_tree_node | |
| | + 0.40% ~pair | |
| | + 0.40% ~list | |
| | + 0.40% ~list | |
| | + 0.40% ~_List_base | |
| | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | + 0.40% _M_put_node | |
| | + 0.40% deallocate | |
| | + 0.40% tc_delete | |
| | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | + 0.40% SpinLock::SlowLock() | |
| | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| + 0.40% clear_payload | |
| + 0.40% ceph::buffer::list::clear | |
| + 0.40% clear | |
| + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| + 0.40% destroy<std::_List_node<ceph::buffer::ptr> > | |
| + 0.40% ~_List_node | |
| + 0.40% ~ptr | |
| + 0.40% ceph::buffer::ptr::release | |
| + 0.40% ceph::buffer::raw_combined::~raw_combined | |
| + 0.40% ~raw_combined | |
| + 0.40% ~raw | |
| + 0.40% ~map | |
| + 0.40% ~_Rb_tree | |
| + 0.40% std::_Rb_tree<std::pair<unsigned long, unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> >, std::_Select1st<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > >, std::less<std::pair<unsigned long, unsigned long> >, std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, std::pair<unsigned int, unsigned int> > > >::_M_erase | |
| + 0.40% _M_destroy_node | |
| + 0.40% _M_put_node | |
| + 0.40% deallocate | |
| + 0.40% tc_delete | |
| + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| + 0.40% SpinLock::SlowLock() | |
| + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
+ 4.03% PG::lock | |
+ 4.03% Mutex::Lock | |
+ 4.03% pthread_mutex_lock | |
+ 4.03% _L_lock_812 | |
+ 4.03% __lll_lock_wait | |
Thread: 44 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 83.06% WaitInterval | |
| + 83.06% WaitUntil | |
| + 83.06% pthread_cond_timedwait@@GLIBC_2.3.2 | |
+ 12.90% run | |
| + 12.90% PGOpItem::run | |
| + 12.90% OSD::dequeue_op | |
| + 12.90% PrimaryLogPG::do_request | |
| + 12.90% PrimaryLogPG::do_op | |
| + 12.90% PrimaryLogPG::execute_ctx | |
| + 10.48% PrimaryLogPG::issue_repop | |
| | + 10.48% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 6.85% PrimaryLogPG::queue_transactions | |
| | | + 6.85% queue_transactions | |
| | | + 6.85% BlueStore::queue_transactions | |
| | | + 5.24% BlueStore::_txc_add_transaction | |
| | | | + 1.61% BlueStore::_write | |
| | | | | + 1.61% BlueStore::_do_write | |
| | | | | + 1.21% BlueStore::_do_write_data | |
| | | | | | + 1.21% BlueStore::_do_write_small | |
| | | | | | + 0.81% BlueStore::ExtentMap::set_lextent | |
| | | | | | | + 0.81% BlueStore::ExtentMap::punch_hole | |
| | | | | | | + 0.81% BlueStore::OldExtent::create | |
| | | | | | | + 0.81% tc_new | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | | + 0.81% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | | + 0.81% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | | | + 0.40% ~function | |
| | | | | | + 0.40% ~_Function_base | |
| | | | | | + 0.40% std::_Function_base::_Base_manager<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | |
| | | | | | + 0.40% _M_destroy | |
| | | | | | + 0.40% tc_delete | |
| | | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% BlueStore::_wctx_finish | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 1.61% BlueStore::_omap_setkeys | |
| | | | | + 1.21% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | | + 1.21% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | | + 1.21% rocksdb::WriteBatch::Put | |
| | | | | | + 1.21% rocksdb::WriteBatchInternal::Put | |
| | | | | | + 1.21% PutLengthPrefixedSliceParts | |
| | | | | | + 1.21% std::string::append | |
| | | | | | + 1.21% std::string::reserve | |
| | | | | | + 1.21% _M_dispose | |
| | | | | | + 1.21% std::string::_Rep::_M_destroy | |
| | | | | | + 1.21% deallocate | |
| | | | | | + 1.21% tc_delete | |
| | | | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | | + 0.40% std::string::push_back | |
| | | | | + 0.40% std::string::reserve | |
| | | | | + 0.40% _M_dispose | |
| | | | | + 0.40% std::string::_Rep::_M_destroy | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% decode_attrset | |
| | | | | + 0.81% decode<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, denc_traits<std::map<std::string, ceph::buffer::ptr, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >, void> > | |
| | | | | + 0.81% decode<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | + 0.81% decode_nohead<std::pair<std::basic_string<char>, ceph::buffer::ptr> > | |
| | | | | + 0.40% insert<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | | | | + 0.40% emplace_hint<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | | | | + 0.40% std::_Rb_tree<std::string, std::pair<std::string const, ceph::buffer::ptr>, std::_Select1st<std::pair<std::string const, ceph::buffer::ptr> >, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::ptr> > >::_M_emplace_hint_unique<std::pair<std::string, ceph::buffer::ptr> >(std::_Rb_tree_const_iterator<std::pair<std::string const, ceph::buffer::ptr> >, std::pair<std::string, ceph::buffer::ptr>&&) | |
| | | | | | + 0.40% _M_create_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, ceph::buffer::ptr> > | |
| | | | | | + 0.40% _M_get_node | |
| | | | | | + 0.40% allocate | |
| | | | | | + 0.40% tc_new | |
| | | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void>, _denc::has_legacy_denc<std::pair<std::basic_string<char>, ceph::buffer::ptr>, void> > | |
| | | | | + 0.40% decode | |
| | | | | + 0.40% decode<std::basic_string<char> > | |
| | | | | + 0.40% denc<ceph::buffer::ptr, denc_traits<ceph::buffer::ptr>, _denc::has_legacy_denc<ceph::buffer::ptr, void> > | |
| | | | | + 0.40% decode | |
| | | | | + 0.40% decode | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~_List_base | |
| | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% begin | |
| | | | | + 0.40% iterator | |
| | | | | + 0.40% ceph::buffer::list::get_contiguous | |
| | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | + 0.40% ceph::buffer::list::rebuild | |
| | | | | + 0.40% clear | |
| | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::_setattrs | |
| | | | | + 0.40% ceph::buffer::ptr::operator=(ceph::buffer::ptr&&) | |
| | | | | + 0.40% ceph::buffer::ptr::release | |
| | | | | + 0.40% tc_free | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::_get_collection | |
| | | | + 0.40% find | |
| | | | + 0.40% find | |
| | | | + 0.40% _M_hash_code | |
| | | | + 0.40% operator() | |
| | | | + 0.40% to_str | |
| | | | + 0.40% std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string | |
| | | | + 0.40% _S_construct<char const*> | |
| | | | + 0.40% _S_construct_aux<char const*> | |
| | | | + 0.40% char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) | |
| | | | + 0.40% std::string::_Rep::_S_create | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 1.61% BlueStore::_txc_write_nodes | |
| | | + 1.21% BlueStore::ExtentMap::update | |
| | | | + 0.81% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | | + 0.81% operator() | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.81% combine_strings | |
| | | | | + 0.81% std::string::append | |
| | | | | + 0.81% std::string::reserve | |
| | | | | + 0.81% _M_dispose | |
| | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% tcmalloc::ThreadCache::IncreaseCacheLimit() | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% BlueStore::ExtentMap::encode_some | |
| | | | + 0.40% get_contiguous_appender | |
| | | | + 0.40% ceph::buffer::list::contiguous_appender::contiguous_appender | |
| | | | + 0.40% ceph::buffer::create | |
| | | | + 0.40% ceph::buffer::create_aligned | |
| | | | + 0.40% ceph::buffer::create_aligned_in_mempool | |
| | | | + 0.40% create | |
| | | | + 0.40% tc_posix_memalign | |
| | | | + 0.40% (anonymous namespace)::do_memalign(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | + 0.40% rocksdb::WriteBatch::Put | |
| | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | + 0.40% PutLengthPrefixedSlice | |
| | | + 0.40% std::string::append | |
| | | + 0.40% std::string::reserve | |
| | | + 0.40% _M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 1.61% PrimaryLogPG::log_operation | |
| | | + 1.61% PG::append_log | |
| | | + 0.81% PGLog::IndexedLog::trim | |
| | | | + 0.81% PGLog::IndexedLog::unindex | |
| | | | + 0.81% erase | |
| | | | + 0.81% erase | |
| | | | + 0.81% _M_erase | |
| | | | + 0.81% _M_erase | |
| | | | + 0.81% _M_deallocate_node | |
| | | | + 0.81% deallocate | |
| | | | + 0.81% tc_delete | |
| | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.81% PG::write_if_dirty | |
| | | + 0.81% ObjectStore::Transaction::omap_setkeys | |
| | | + 0.81% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | + 0.40% encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.40% encode_nohead<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.40% denc<std::pair<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | + 0.40% encode<std::basic_string<char> > | |
| | | | + 0.40% denc<ceph::buffer::list, denc_traits<ceph::buffer::list> > | |
| | | | + 0.40% encode | |
| | | | + 0.40% append | |
| | | | + 0.40% flush_and_continue | |
| | | | + 0.40% ceph::buffer::list::append | |
| | | | + 0.40% push_back | |
| | | | + 0.40% push_back | |
| | | | + 0.40% _M_insert<ceph::buffer::ptr> | |
| | | | + 0.40% _M_create_node<ceph::buffer::ptr> | |
| | | | + 0.40% _M_get_node | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | + 0.40% ~pair | |
| | | + 0.40% ~list | |
| | | + 0.40% ~list | |
| | | + 0.40% ~_List_base | |
| | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 1.21% generate_transaction | |
| | | + 1.21% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | + 0.81% operator() | |
| | | | + 0.81% ObjectStore::Transaction::setattrs | |
| | | | + 0.81% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | + 0.81% encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.81% encode_nohead<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.81% ~pair | |
| | | | + 0.81% ~list | |
| | | | + 0.81% ~list | |
| | | | + 0.81% ~_List_base | |
| | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.81% _M_put_node | |
| | | | + 0.81% deallocate | |
| | | | + 0.81% tc_delete | |
| | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.81% SpinLock::SlowLock() | |
| | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% pop_front | |
| | | + 0.40% _M_erase | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% ~vector | |
| | | + 0.40% _Destroy<ObjectStore::Transaction*, ObjectStore::Transaction> | |
| | | + 0.40% _Destroy<ObjectStore::Transaction*> | |
| | | + 0.40% __destroy<ObjectStore::Transaction*> | |
| | | + 0.40% _Destroy<ObjectStore::Transaction> | |
| | | + 0.40% ObjectStore::Transaction::~Transaction | |
| | | + 0.40% ~ptr | |
| | | + 0.40% ceph::buffer::ptr::release | |
| | | + 0.40% tc_free | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% push_back | |
| | + 0.40% std::vector<ObjectStore::Transaction, std::allocator<ObjectStore::Transaction> >::emplace_back<ObjectStore::Transaction>(ObjectStore::Transaction&&) | |
| | + 0.40% std::vector<ObjectStore::Transaction, std::allocator<ObjectStore::Transaction> >::_M_emplace_back_aux<ObjectStore::Transaction>(ObjectStore::Transaction&&) | |
| | + 0.40% _M_allocate | |
| | + 0.40% allocate | |
| | + 0.40% tc_new | |
| | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| + 2.42% PrimaryLogPG::calc_trim_to | |
| + 2.42% size | |
| + 2.42% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 2.42% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
+ 4.03% PG::lock | |
+ 4.03% Mutex::Lock | |
+ 4.03% pthread_mutex_lock | |
+ 4.03% _L_lock_812 | |
+ 4.03% __lll_lock_wait | |
Thread: 45 (tp_osd_tp) - 248 samples | |
+ 100.00% clone | |
+ 100.00% start_thread | |
+ 100.00% ShardedThreadPool::WorkThreadSharded::entry | |
+ 100.00% ShardedThreadPool::shardedthreadpool_worker | |
+ 100.00% OSD::ShardedOpWQ::_process | |
+ 79.84% WaitInterval | |
| + 79.84% WaitUntil | |
| + 79.84% pthread_cond_timedwait@@GLIBC_2.3.2 | |
| + 0.40% __pthread_mutex_cond_lock | |
| + 0.40% _L_cond_lock_789 | |
| + 0.40% __lll_lock_wait | |
+ 14.52% run | |
| + 14.52% PGOpItem::run | |
| + 14.52% OSD::dequeue_op | |
| + 14.52% PrimaryLogPG::do_request | |
| + 14.52% PrimaryLogPG::do_op | |
| + 14.52% PrimaryLogPG::execute_ctx | |
| + 12.50% PrimaryLogPG::issue_repop | |
| | + 12.50% ReplicatedBackend::submit_transaction(hobject_t const&, object_stat_sum_t const&, eversion_t const&, std::unique_ptr<PGTransaction, std::default_delete<PGTransaction> >&&, eversion_t const&, eversion_t const&, std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> > const&, boost::optional<pg_hit_set_history_t>&, Context*, Context*, Context*, unsigned long, osd_reqid_t, boost::intrusive_ptr<OpRequest>) | |
| | + 6.05% PrimaryLogPG::queue_transactions | |
| | | + 6.05% queue_transactions | |
| | | + 6.05% BlueStore::queue_transactions | |
| | | + 2.82% BlueStore::_txc_write_nodes | |
| | | | + 1.21% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 1.21% combine_strings | |
| | | | | + 1.21% operator= | |
| | | | | + 1.21% std::string::assign | |
| | | | | + 1.21% _M_dispose | |
| | | | | + 1.21% std::string::_Rep::_M_destroy | |
| | | | | + 1.21% deallocate | |
| | | | | + 1.21% tc_delete | |
| | | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 1.21% BlueStore::ExtentMap::update | |
| | | | | + 1.21% generate_extent_shard_key_and_apply<std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > >(const std::basic_string<char, std::char_traits<char>, mempool::pool_allocator<(mempool::pool_index_t)4, char> > &, uint32_t, std::string *, std::function<void(const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>) | |
| | | | | + 1.21% operator() | |
| | | | | + 1.21% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 1.21% combine_strings | |
| | | | | + 1.21% std::string::append | |
| | | | | + 1.21% std::string::reserve | |
| | | | | + 1.21% _M_dispose | |
| | | | | + 1.21% std::string::_Rep::_M_destroy | |
| | | | | + 1.21% deallocate | |
| | | | | + 1.21% tc_delete | |
| | | | | + 1.21% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 1.21% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 1.21% SpinLock::SlowLock() | |
| | | | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% denc<bluestore_onode_t, denc_traits<bluestore_onode_t> > | |
| | | | + 0.40% encode | |
| | | | + 0.40% encode | |
| | | | + 0.40% _denc_friend<bluestore_onode_t const, ceph::buffer::list::contiguous_appender> | |
| | | | + 0.40% denc<std::vector<bluestore_onode_t::shard_info>, denc_traits<std::vector<bluestore_onode_t::shard_info>, void> > | |
| | | | + 0.40% encode<bluestore_onode_t::shard_info> | |
| | | | + 0.40% encode_nohead<bluestore_onode_t::shard_info> | |
| | | | + 0.40% denc<bluestore_onode_t::shard_info, denc_traits<bluestore_onode_t::shard_info> > | |
| | | | + 0.40% encode | |
| | | | + 0.40% encode | |
| | | | + 0.40% _denc_friend<bluestore_onode_t::shard_info const, ceph::buffer::list::contiguous_appender> | |
| | | | + 0.40% denc_varint<unsigned int> | |
| | | + 2.82% BlueStore::_txc_add_transaction | |
| | | | + 1.21% BlueStore::_write | |
| | | | | + 1.21% BlueStore::_do_write | |
| | | | | + 1.21% BlueStore::_do_write_data | |
| | | | | + 1.21% BlueStore::_do_write_small | |
| | | | | + 0.81% ~function | |
| | | | | | + 0.81% ~_Function_base | |
| | | | | | + 0.81% std::_Function_base::_Base_manager<BlueStore::_do_write_small(BlueStore::TransContext*, BlueStore::CollectionRef&, BlueStore::OnodeRef, uint64_t, uint64_t, ceph::buffer::list::iterator&, BlueStore::WriteContext*)::__lambda22>::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) | |
| | | | | | + 0.81% _M_destroy | |
| | | | | | + 0.81% tc_delete | |
| | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | + 0.40% BlueStore::_get_deferred_op | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.81% BlueStore::_omap_setkeys | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::set | |
| | | | | + 0.81% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | | | + 0.81% rocksdb::WriteBatch::Put | |
| | | | | + 0.81% rocksdb::WriteBatchInternal::Put | |
| | | | | + 0.81% PutLengthPrefixedSliceParts | |
| | | | | + 0.81% std::string::append | |
| | | | | + 0.81% std::string::reserve | |
| | | | | + 0.81% _M_dispose | |
| | | | | + 0.81% std::string::_Rep::_M_destroy | |
| | | | | + 0.81% deallocate | |
| | | | | + 0.81% tc_delete | |
| | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseListToSpans(void*) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::ReleaseToSpans(void*) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% vector | |
| | | | | + 0.40% _Vector_base | |
| | | | | + 0.40% _M_create_storage | |
| | | | | + 0.40% _M_allocate | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | + 0.40% begin | |
| | | | + 0.40% iterator | |
| | | | + 0.40% ceph::buffer::list::get_contiguous | |
| | | | + 0.40% erase | |
| | | | + 0.40% _M_erase | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::set | |
| | | + 0.40% RocksDBStore::RocksDBTransactionImpl::put_bat | |
| | | + 0.40% rocksdb::WriteBatch::Put | |
| | | + 0.40% rocksdb::WriteBatchInternal::Put | |
| | | + 0.40% PutLengthPrefixedSliceParts | |
| | | + 0.40% std::string::append | |
| | | + 0.40% std::string::reserve | |
| | | + 0.40% _M_dispose | |
| | | + 0.40% std::string::_Rep::_M_destroy | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 3.63% PrimaryLogPG::log_operation | |
| | | + 3.63% PG::append_log | |
| | | + 2.42% PGLog::IndexedLog::trim | |
| | | | + 1.61% PGLog::IndexedLog::unindex | |
| | | | | + 1.61% erase | |
| | | | | + 1.61% erase | |
| | | | | + 1.61% _M_erase | |
| | | | | + 1.61% _M_erase | |
| | | | | + 1.61% _M_deallocate_node | |
| | | | | + 1.61% deallocate | |
| | | | | + 1.61% tc_delete | |
| | | | | + 1.61% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 1.61% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 1.21% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 1.21% SpinLock::SlowLock() | |
| | | | | + 1.21% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% push_back | |
| | | | | + 0.40% _M_insert<pg_log_dup_t> | |
| | | | | + 0.40% _M_create_node<pg_log_dup_t> | |
| | | | | + 0.40% _M_get_node | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_newarray | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | + 0.40% pop_front | |
| | | | + 0.40% _M_erase | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_deletearray | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.81% PG::write_if_dirty | |
| | | | + 0.40% PGLog::write_log_and_missing | |
| | | | | + 0.40% PGLog::_write_log_and_missing | |
| | | | | + 0.40% pg_log_entry_t::encode_with_checksum | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~list | |
| | | | | + 0.40% ~_List_base | |
| | | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | + 0.40% _M_put_node | |
| | | | | + 0.40% deallocate | |
| | | | | + 0.40% tc_delete | |
| | | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% ObjectStore::Transaction::omap_setkeys | |
| | | | + 0.40% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | + 0.40% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | + 0.40% ~pair | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~list | |
| | | | + 0.40% ~_List_base | |
| | | | + 0.40% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | + 0.40% _M_put_node | |
| | | | + 0.40% deallocate | |
| | | | + 0.40% tc_delete | |
| | | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | + 0.40% SpinLock::SlowLock() | |
| | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | + 0.40% PG::add_log_entry | |
| | | + 0.40% add | |
| | | + 0.40% PGLog::IndexedLog::add | |
| | | + 0.40% operator[] | |
| | | + 0.40% std::__detail::_Map_base<osd_reqid_t, std::pair<osd_reqid_t const, pg_log_entry_t*>, std::allocator<std::pair<osd_reqid_t const, pg_log_entry_t*> >, std::__detail::_Select1st, std::equal_to<osd_reqid_t>, std::hash<osd_reqid_t>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[] | |
| | | + 0.40% _M_allocate_node<const std::piecewise_construct_t&, std::tuple<const osd_reqid_t&>, std::tuple<> > | |
| | | + 0.40% allocate | |
| | | + 0.40% tc_new | |
| | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 2.42% generate_transaction | |
| | | + 2.42% safe_create_traverse<generate_transaction(PGTransactionUPtr&, const coll_t&, std::vector<pg_log_entry_t>&, ObjectStore::Transaction*, std::set<hobject_t>*, std::set<hobject_t>*)::__lambda35> | |
| | | + 2.02% operator() | |
| | | | + 1.61% ObjectStore::Transaction::setattrs | |
| | | | | + 1.21% encode<std::map<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::map<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | | | + 0.81% bound_encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | | | + 0.81% ~pair | |
| | | | | | | + 0.81% ~list | |
| | | | | | | + 0.81% ~list | |
| | | | | | | + 0.81% ~_List_base | |
| | | | | | | + 0.81% std::_List_base<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::_M_clear | |
| | | | | | | + 0.81% _M_put_node | |
| | | | | | | + 0.81% deallocate | |
| | | | | | | + 0.81% tc_delete | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::Scavenge() | |
| | | | | | | + 0.81% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | | | | | + 0.81% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | | | | | + 0.81% SpinLock::SlowLock() | |
| | | | | | | + 0.81% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | | | + 0.40% encode<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | | + 0.40% encode_nohead<std::pair<std::basic_string<char>, ceph::buffer::list> > | |
| | | | | | + 0.40% denc<std::pair<std::basic_string<char>, ceph::buffer::list>, denc_traits<std::pair<std::basic_string<char>, ceph::buffer::list>, void> > | |
| | | | | | + 0.40% encode<std::basic_string<char> > | |
| | | | | | + 0.40% denc<ceph::buffer::list, denc_traits<ceph::buffer::list> > | |
| | | | | | + 0.40% encode | |
| | | | | | + 0.40% append | |
| | | | | | + 0.40% flush_and_continue | |
| | | | | | + 0.40% ceph::buffer::list::append(ceph::buffer::ptr&&) | |
| | | | | | + 0.40% push_back | |
| | | | | | + 0.40% push_back | |
| | | | | | + 0.40% _M_insert<ceph::buffer::ptr> | |
| | | | | | + 0.40% _M_create_node<ceph::buffer::ptr> | |
| | | | | | + 0.40% _M_get_node | |
| | | | | | + 0.40% allocate | |
| | | | | | + 0.40% tc_new | |
| | | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | | | + 0.40% ObjectStore::Transaction::_get_next_op | |
| | | | | + 0.40% ceph::buffer::list::append | |
| | | | | + 0.40% push_back | |
| | | | | + 0.40% push_back | |
| | | | | + 0.40% _M_insert<ceph::buffer::ptr const&> | |
| | | | | + 0.40% _M_create_node<ceph::buffer::ptr const&> | |
| | | | | + 0.40% _M_get_node | |
| | | | | + 0.40% allocate | |
| | | | | + 0.40% tc_new | |
| | | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | | + 0.40% SpinLock::SlowLock() | |
| | | | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | | | + 0.40% operator= | |
| | | | + 0.40% std::list<ceph::buffer::ptr, std::allocator<ceph::buffer::ptr> >::operator= | |
| | | | + 0.40% insert<std::_List_const_iterator<ceph::buffer::ptr>, void> | |
| | | | + 0.40% list<std::_List_const_iterator<ceph::buffer::ptr>, void> | |
| | | | + 0.40% _M_initialize_dispatch<std::_List_const_iterator<ceph::buffer::ptr> > | |
| | | | + 0.40% emplace_back<ceph::buffer::ptr const&> | |
| | | | + 0.40% _M_insert<ceph::buffer::ptr const&> | |
| | | | + 0.40% _M_create_node<ceph::buffer::ptr const&> | |
| | | | + 0.40% _M_get_node | |
| | | | + 0.40% allocate | |
| | | | + 0.40% tc_new | |
| | | | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | | | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | | | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| | | + 0.40% pop_front | |
| | | + 0.40% _M_erase | |
| | | + 0.40% _M_put_node | |
| | | + 0.40% deallocate | |
| | | + 0.40% tc_delete | |
| | | + 0.40% tcmalloc::ThreadCache::Scavenge() | |
| | | + 0.40% tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned long, int) | |
| | | + 0.40% tcmalloc::CentralFreeList::InsertRange(void*, void*, int) | |
| | | + 0.40% SpinLock::SlowLock() | |
| | | + 0.40% base::internal::SpinLockDelay(int volatile*, int, int) | |
| | + 0.40% push_back | |
| | + 0.40% std::vector<ObjectStore::Transaction, std::allocator<ObjectStore::Transaction> >::emplace_back<ObjectStore::Transaction>(ObjectStore::Transaction&&) | |
| | + 0.40% std::vector<ObjectStore::Transaction, std::allocator<ObjectStore::Transaction> >::_M_emplace_back_aux<ObjectStore::Transaction>(ObjectStore::Transaction&&) | |
| | + 0.40% _M_allocate | |
| | + 0.40% allocate | |
| | + 0.40% tc_new | |
| | + 0.40% tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long) | |
| | + 0.40% tcmalloc::CentralFreeList::RemoveRange(void**, void**, int) | |
| | + 0.40% tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**) | |
| + 1.21% PrimaryLogPG::calc_trim_to | |
| | + 1.21% size | |
| | + 1.21% distance<std::_List_const_iterator<pg_log_entry_t> > | |
| | + 1.21% __distance<std::_List_const_iterator<pg_log_entry_t> > | |
| + 0.40% reset_obs | |
| | + 0.40% operator= | |
| | + 0.40% obj |
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment