diff options
author | Geir Storli <geirst@yahooinc.com> | 2023-09-05 13:50:09 +0000 |
---|---|---|
committer | Geir Storli <geirst@yahooinc.com> | 2023-09-05 13:50:09 +0000 |
commit | 79fb9559feb61bbacea840b8cec2f26e318aec6d (patch) | |
tree | 455a4e5b4cf0be9ac32e0b25e16508aa2e360d3c /vespalib | |
parent | 05df635cab10d2e312a10e0620a0e6558a4de013 (diff) |
Add detailed state explorer for field writer SequencedTaskExecutor.
This exposes the raw statistics for each underlying executor.
Diffstat (limited to 'vespalib')
-rw-r--r-- | vespalib/src/vespa/vespalib/util/sequencedtaskexecutor.cpp | 10 | ||||
-rw-r--r-- | vespalib/src/vespa/vespalib/util/sequencedtaskexecutor.h | 8 |
2 files changed, 18 insertions, 0 deletions
diff --git a/vespalib/src/vespa/vespalib/util/sequencedtaskexecutor.cpp b/vespalib/src/vespa/vespalib/util/sequencedtaskexecutor.cpp index 7538e2acb50..f00ad523602 100644 --- a/vespalib/src/vespa/vespalib/util/sequencedtaskexecutor.cpp +++ b/vespalib/src/vespa/vespalib/util/sequencedtaskexecutor.cpp @@ -151,6 +151,16 @@ SequencedTaskExecutor::getStats() return accumulatedStats; } +std::vector<ExecutorStats> +SequencedTaskExecutor::get_raw_stats() +{ + std::vector<ExecutorStats> result; + for (auto& executor : _executors) { + result.push_back(executor->getStats()); + } + return result; +} + ISequencedTaskExecutor::ExecutorId SequencedTaskExecutor::getExecutorId(uint64_t componentId) const { auto id = getExecutorIdPerfect(componentId); diff --git a/vespalib/src/vespa/vespalib/util/sequencedtaskexecutor.h b/vespalib/src/vespa/vespalib/util/sequencedtaskexecutor.h index a4b1b82aacf..7e38e4e9512 100644 --- a/vespalib/src/vespa/vespalib/util/sequencedtaskexecutor.h +++ b/vespalib/src/vespa/vespalib/util/sequencedtaskexecutor.h @@ -30,6 +30,14 @@ public: ExecutorStats getStats() override; void wakeup() override; + /** + * Returns the ExecutorStats of each underlying executor. + * + * Calling this function resets the statistics of each underlying executor, + * similar to calling getStats(). + */ + std::vector<ExecutorStats> get_raw_stats(); + static std::unique_ptr<ISequencedTaskExecutor> create(Runnable::init_fun_t func, uint32_t threads); static std::unique_ptr<ISequencedTaskExecutor> |