summaryrefslogtreecommitdiff
path: root/src/mongo/transport/service_executor_adaptive.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/transport/service_executor_adaptive.cpp')
-rw-r--r--src/mongo/transport/service_executor_adaptive.cpp30
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