diff options
Diffstat (limited to 'src/mongo/transport/service_executor_adaptive.cpp')
-rw-r--r-- | src/mongo/transport/service_executor_adaptive.cpp | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/src/mongo/transport/service_executor_adaptive.cpp b/src/mongo/transport/service_executor_adaptive.cpp index a64eaa1af8c..ef25f707a53 100644 --- a/src/mongo/transport/service_executor_adaptive.cpp +++ b/src/mongo/transport/service_executor_adaptive.cpp @@ -687,20 +687,19 @@ StringData ServiceExecutorAdaptive::_threadStartedByToString( void ServiceExecutorAdaptive::appendStats(BSONObjBuilder* bob) const { stdx::unique_lock<stdx::mutex> lk(_threadsMutex); - BSONObjBuilder section(bob->subobjStart("serviceExecutorTaskStats")); - section << kExecutorLabel << kExecutorName // - << kTotalQueued << _totalQueued.load() // - << kTotalExecuted << _totalExecuted.load() // - << kThreadsInUse << _threadsInUse.load() // - << kTotalTimeRunningUs // - << ticksToMicros(_getThreadTimerTotal(ThreadTimer::kRunning, lk), _tickSource) // - << kTotalTimeExecutingUs // - << ticksToMicros(_getThreadTimerTotal(ThreadTimer::kExecuting, lk), _tickSource) // - << kTotalTimeQueuedUs << ticksToMicros(_totalSpentQueued.load(), _tickSource) // - << kThreadsRunning << _threadsRunning.load() // - << kThreadsPending << _threadsPending.load(); - - BSONObjBuilder threadStartReasons(section.subobjStart(kThreadReasons)); + *bob << kExecutorLabel << kExecutorName // + << kTotalQueued << _totalQueued.load() // + << kTotalExecuted << _totalExecuted.load() // + << kThreadsInUse << _threadsInUse.load() // + << kTotalTimeRunningUs // + << ticksToMicros(_getThreadTimerTotal(ThreadTimer::kRunning, lk), _tickSource) // + << kTotalTimeExecutingUs // + << ticksToMicros(_getThreadTimerTotal(ThreadTimer::kExecuting, lk), _tickSource) // + << kTotalTimeQueuedUs << ticksToMicros(_totalSpentQueued.load(), _tickSource) // + << kThreadsRunning << _threadsRunning.load() // + << kThreadsPending << _threadsPending.load(); + + BSONObjBuilder threadStartReasons(bob->subobjStart(kThreadReasons)); for (size_t i = 0; i < _threadStartCounters.size(); i++) { threadStartReasons << _threadStartedByToString(static_cast<ThreadCreationReason>(i)) << _threadStartCounters[i]; @@ -708,7 +707,7 @@ void ServiceExecutorAdaptive::appendStats(BSONObjBuilder* bob) const { threadStartReasons.doneFast(); - BSONObjBuilder metricsByTask(section.subobjStart("metricsByTask")); + BSONObjBuilder metricsByTask(bob->subobjStart("metricsByTask")); MetricsArray totalMetrics; _accumulateAllTaskMetrics(&totalMetrics, lk); lk.unlock(); @@ -726,7 +725,6 @@ void ServiceExecutorAdaptive::appendStats(BSONObjBuilder* bob) const { subSection.doneFast(); } metricsByTask.doneFast(); - section.doneFast(); } } // namespace transport |