Skip to content

Instantly share code, notes, and snippets.

@uttampawar
Created February 15, 2023 03:22
Show Gist options
  • Save uttampawar/a9bc07c9738070daafc3e3534bd84cd6 to your computer and use it in GitHub Desktop.
Save uttampawar/a9bc07c9738070daafc3e3534bd84cd6 to your computer and use it in GitHub Desktop.
1)
0.74% 0.19% 0.00% 0.00% 0x28 1 1 1534622 0x7ffff783a29e 1581 1504 625 2450 158 [.] __pthread_mutex_trylock libpthread-2.31.so pthread_mutex_trylock.c:83 0{0,2-39,80,82-119>
|
---__GI___clone (inlined)
start_thread
|
|--60.97%--runFunc (inlined)
| mongo::unique_function<void ()>::operator() (inlined)
| call (inlined)
| callRegularVoid<mongo::launchServiceWorkerThread(mongo::unique_function<void()>)::<lambda()> > (inlined)
| operator() (inlined)
| mongo::unique_function<void ()>::operator() (inlined)
| call (inlined)
| callRegularVoid<mongo::transport::ServiceExecutorSynchronous::scheduleTask(mongo::transport::ServiceExecutor::Task, mongo::transport::ServiceExecutor::ScheduleFlags)::<lambda()> > (inlined)
| operator() (inlined)
| mongo::unique_function<void ()>::operator() (inlined)
| mongo::unique_function<void ()>::makeImpl<mongo::transport::ServiceExecutor::schedule(mongo::unique_function<void (mongo::Status)>)::{lambda()#1}>(mongo::transport::ServiceExecutor::schedule(mongo::unique_function<void (mongo::Sta>
| mongo::unique_function<void ()>::callRegularVoid<mongo::transport::ServiceExecutor::schedule(mongo::unique_function<void (mongo::Status)>)::{lambda()#1}> (inlined)
| mongo::transport::ServiceExecutor::schedule(mongo::unique_function<void (mongo::Status)>)::{lambda()#1}::operator() (inlined)
| mongo::unique_function<void (mongo::Status)>::operator() (inlined)
| call (inlined)
| callRegularVoid<mongo::transport::ServiceExecutorSynchronous::runOnDataAvailable(const SessionHandle&, mongo::OutOfLineExecutor::Task)::<lambda(mongo::Status)> > (inlined)
| operator() (inlined)
| mongo::unique_function<void (mongo::Status)>::operator() (inlined)
| call (inlined)
| callRegularVoid<mongo::transport::ServiceStateMachine::Impl::scheduleNewLoop(mongo::Status)::<lambda(mongo::Status)> > (inlined)
| operator() (inlined)
| run<mongo::transport::ServiceStateMachine::Impl::scheduleNewLoop(mongo::Status)::<lambda(mongo::Status)>::<lambda()> > (inlined)
| mongo::unique_function<void (mongo::Status)>::makeImpl<mongo::transport::ServiceStateMachine::Impl::scheduleNewLoop(mongo::Status)::{lambda(mongo::Status)#1}>(mongo::transport::ServiceStateMachine::Impl::scheduleNewLoop(mongo::Sta>
| mongo::transport::ServiceStateMachine::Impl::startNewLoop
| |
| |--39.69%--then<mongo::transport::ServiceStateMachine::Impl::startNewLoop(const mongo::Status&)::<lambda()> > (inlined)
| | then<mongo::transport::ServiceStateMachine::Impl::startNewLoop(const mongo::Status&)::<lambda()> > (inlined)
| | mongo::transport::ServiceStateMachine::Impl::startNewLoop
| | operator() (inlined)
| | throwingCall<mongo::transport::ServiceStateMachine::Impl::startNewLoop(const mongo::Status&)::<lambda()>&, mongo::future_details::FakeVoid> (inlined)
| | call<mongo::transport::ServiceStateMachine::Impl::startNewLoop(const mongo::Status&)::<lambda()>&> (inlined)
| | mongo::future_details::FutureImpl<mongo::future_details::FakeVoid>::then<mongo::transport::ServiceStateMachine::Impl::startNewLoop(mongo::Status const&)::{lambda()#2}>(mongo::transport::ServiceStateMachine::Impl::startN>
| | mongo::transport::ServiceStateMachine::Impl::processMessage
| | |
| | |--27.33%--mongo::Client::makeOperationContext
| | | mongo::ServiceContext::makeOperationContext
| | | std::lock_guard<mongo::latch_detail::Mutex>::lock_guard (inlined)
| | | mongo::latch_detail::Mutex::lock
| | | std::mutex::try_lock (inlined)
| | | mongo::latch_detail::Mutex::lock
| | | __GI___pthread_mutex_trylock (inlined)
| | |
| | --12.36%--then<mongo::transport::ServiceStateMachine::Impl::processMessage()::<lambda(mongo::DbResponse)> > (inlined)
| | then<mongo::transport::ServiceStateMachine::Impl::processMessage()::<lambda(mongo::DbResponse)> > (inlined)
| | generalImpl<mongo::future_details::FutureImpl<T>::then<mongo::transport::ServiceStateMachine::Impl::processMessage()::<lambda(mongo::DbResponse)> >::<lambda(mongo::DbResponse&&)>, mongo::future_details::Futur>
| | operator() (inlined)
| | statusCall<mongo::transport::ServiceStateMachine::Impl::processMessage()::<lambda(mongo::DbResponse)>&, mongo::DbResponse> (inlined)
| | mongo::transport::ServiceStateMachine::Impl::processMessage
| | mongo::transport::ServiceStateMachine::Impl::processMessage()::{lambda(mongo::DbResponse)#1}::operator()
| | mongo::ServiceContext::killAndDelistOperation
| | mongo::ServiceContext::_delistOperation
| | std::lock_guard<mongo::latch_detail::Mutex>::lock_guard (inlined)
| | mongo::latch_detail::Mutex::lock
| | std::mutex::try_lock (inlined)
| | mongo::latch_detail::Mutex::lock
| | __GI___pthread_mutex_trylock (inlined)
| |
| --21.28%--getAsync<mongo::transport::ServiceStateMachine::Impl::startNewLoop(const mongo::Status&)::<lambda(mongo::Status)> > (inlined)
| getAsync<mongo::transport::ServiceStateMachine::Impl::startNewLoop(const mongo::Status&)::<lambda(mongo::Status)> > (inlined)
| generalImpl<mongo::future_details::FutureImpl<T>::getAsync<mongo::transport::ServiceStateMachine::Impl::startNewLoop(const mongo::Status&)::<lambda(mongo::Status)> >::<lambda(mongo::future_details::FakeVoid&&)>, mongo::>
| operator() (inlined)
| call<mongo::transport::ServiceStateMachine::Impl::startNewLoop(const mongo::Status&)::<lambda(mongo::Status)>&> (inlined)
| mongo::transport::ServiceStateMachine::Impl::startNewLoop
| mongo::transport::ServiceStateMachine::Impl::scheduleNewLoop
| std::unique_ptr<mongo::OperationContext, mongo::ServiceContext::OperationContextDeleter>::reset (inlined)
| std::__uniq_ptr_impl<mongo::OperationContext, mongo::ServiceContext::OperationContextDeleter>::reset (inlined)
| mongo::ServiceContext::OperationContextDeleter::operator()
| mongo::ServiceContext::_delistOperation
| std::lock_guard<mongo::latch_detail::Mutex>::lock_guard (inlined)
| mongo::latch_detail::Mutex::lock
| std::mutex::try_lock (inlined)
| mongo::latch_detail::Mutex::lock
| __GI___pthread_mutex_trylock (inlined)
2)
--0.07%--mongo::Client::makeOperationContext
mongo::ServiceContext::makeOperationContext
--0.03%--mongo::transport::TransportLayerManager::makeBaton
std::lock_guard<mongo::latch_detail::Latch>::lock_guard (inlined)
--0.03%--mongo::latch_detail::Mutex::_onQuickLock
onQuickLock (inlined)
mongo::LatchAnalyzer::get (inlined)
mongo::LatchAnalyzer::get (inlined)
mongo::Decorable<mongo::ServiceContext>::Decoration<mongo::LatchAnalyzer>::operator() (inlined)
mongo::Decorable<mongo::ServiceContext>::Decoration<mongo::LatchAnalyzer>::operator() (inlined)
mongo::DecorationContainer<mongo::ServiceContext>::getDecoration<mongo::LatchAnalyzer> (inlined)
mongo::DecorationContainer<mongo::ServiceContext>::getDecoration (inlined)
--0.00%--mongo::latch_detail::Mutex::_onSlowLock
onQuickLock (inlined)
mongo::LatchAnalyzer::get (inlined)
mongo::LatchAnalyzer::get (inlined)
mongo::Decorable<mongo::ServiceContext>::Decoration<mongo::LatchAnalyzer>::operator() (inlined)
mongo::Decorable<mongo::ServiceContext>::Decoration<mongo::LatchAnalyzer>::operator() (inlined)
mongo::DecorationContainer<mongo::ServiceContext>::getDecoration<mongo::LatchAnalyzer> (inlined)
mongo::DecorationContainer<mongo::ServiceContext>::getDecoration (inlined)
--0.03%--std::lock_guard<mongo::latch_detail::Mutex>::lock_guard (inlined)
--0.02%--mongo::latch_detail::Mutex::_onQuickLock
onQuickLock (inlined)
mongo::LatchAnalyzer::get (inlined)
mongo::LatchAnalyzer::get (inlined)
mongo::Decorable<mongo::ServiceContext>::Decoration<mongo::LatchAnalyzer>::operator() (inlined)
mongo::Decorable<mongo::ServiceContext>::Decoration<mongo::LatchAnalyzer>::operator() (inlined)
mongo::DecorationContainer<mongo::ServiceContext>::getDecoration<mongo::LatchAnalyzer> (inlined)
mongo::DecorationContainer<mongo::ServiceContext>::getDecoration (inlined)
--0.01%--mongo::latch_detail::Mutex::_onSlowLock
onQuickLock (inlined)
mongo::LatchAnalyzer::get (inlined)
mongo::LatchAnalyzer::get (inlined)
mongo::Decorable<mongo::ServiceContext>::Decoration<mongo::LatchAnalyzer>::operator() (inlined)
mongo::Decorable<mongo::ServiceContext>::Decoration<mongo::LatchAnalyzer>::operator() (inlined)
mongo::DecorationContainer<mongo::ServiceContext>::getDecoration<mongo::LatchAnalyzer> (inlined)
mongo::DecorationContainer<mongo::ServiceContext>::getDecoration (inlined)
--0.02%--mongo::UniqueOperationIdRegistry::acquireSlot
std::lock_guard<mongo::latch_detail::Mutex>::lock_guard (inlined)
--0.01%--mongo::latch_detail::Mutex::_onQuickLock
onQuickLock (inlined)
mongo::LatchAnalyzer::get (inlined)
mongo::LatchAnalyzer::get (inlined)
mongo::Decorable<mongo::ServiceContext>::Decoration<mongo::LatchAnalyzer>::operator() (inlined)
mongo::Decorable<mongo::ServiceContext>::Decoration<mongo::LatchAnalyzer>::operator() (inlined)
mongo::DecorationContainer<mongo::ServiceContext>::getDecoration<mongo::LatchAnalyzer> (inlined)
mongo::DecorationContainer<mongo::ServiceContext>::getDecoration (inlined)
--0.00%--mongo::latch_detail::Mutex::_onSlowLock
onQuickLock (inlined)
mongo::LatchAnalyzer::get (inlined)
mongo::LatchAnalyzer::get (inlined)
mongo::Decorable<mongo::ServiceContext>::Decoration<mongo::LatchAnalyzer>::operator() (inlined)
mongo::Decorable<mongo::ServiceContext>::Decoration<mongo::LatchAnalyzer>::operator() (inlined)
mongo::DecorationContainer<mongo::ServiceContext>::getDecoration<mongo::LatchAnalyzer> (inlined)
mongo::DecorationContainer<mongo::ServiceContext>::getDecoration (inlined)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment