summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-03-06 13:59:23 +0100
committerGitHub <noreply@github.com>2018-03-06 13:59:23 +0100
commit5f783c886cc44cf548f52027d1665b1466f39469 (patch)
tree2c7f17107b5305397bddb64642c40d573d9d3184
parent6269f50d40db4a8502136373d76eb6afa9efe738 (diff)
parent159fce3cff5cd0050928491929dd6383b0957341 (diff)
Merge pull request #5225 from vespa-engine/toregge/add-executor-threading-service-metrics
Add metrics for executor threading service.
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/CMakeLists.txt2
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp3
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/executor_threading_service_metrics.cpp32
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/executor_threading_service_metrics.h29
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/executor_threading_service_stats.cpp (renamed from searchcore/src/vespa/searchcore/proton/server/executor_threading_service_stats.cpp)0
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/executor_threading_service_stats.h (renamed from searchcore/src/vespa/searchcore/proton/server/executor_threading_service_stats.h)0
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/CMakeLists.txt1
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/documentdb.cpp5
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp2
10 files changed, 71 insertions, 5 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/metrics/CMakeLists.txt b/searchcore/src/vespa/searchcore/proton/metrics/CMakeLists.txt
index 95d5f153f35..6972f6caa98 100644
--- a/searchcore/src/vespa/searchcore/proton/metrics/CMakeLists.txt
+++ b/searchcore/src/vespa/searchcore/proton/metrics/CMakeLists.txt
@@ -7,6 +7,8 @@ vespa_add_library(searchcore_proton_metrics STATIC
documentdb_metrics_collection.cpp
documentdb_tagged_metrics.cpp
executor_metrics.cpp
+ executor_threading_service_metrics.cpp
+ executor_threading_service_stats.cpp
job_load_sampler.cpp
job_tracker.cpp
job_tracked_flush_target.cpp
diff --git a/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp b/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp
index 522951412b7..d704fa6616e 100644
--- a/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp
+++ b/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp
@@ -92,7 +92,8 @@ DocumentDBTaggedMetrics::DocumentDBTaggedMetrics(const vespalib::string &docType
index(this),
ready("ready", this),
notReady("notready", this),
- removed("removed", this)
+ removed("removed", this),
+ threadingService("threading_service", this)
{ }
DocumentDBTaggedMetrics::~DocumentDBTaggedMetrics() { }
diff --git a/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h b/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h
index 2b31de03b63..5b8298fd2cb 100644
--- a/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h
+++ b/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h
@@ -3,6 +3,7 @@
#include "attribute_metrics.h"
#include "memory_usage_metrics.h"
+#include "executor_threading_service_metrics.h"
#include <vespa/metrics/metricset.h>
#include <vespa/metrics/valuemetric.h>
@@ -97,6 +98,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
SubDBMetrics ready;
SubDBMetrics notReady;
SubDBMetrics removed;
+ ExecutorThreadingServiceMetrics threadingService;
DocumentDBTaggedMetrics(const vespalib::string &docTypeName);
~DocumentDBTaggedMetrics();
diff --git a/searchcore/src/vespa/searchcore/proton/metrics/executor_threading_service_metrics.cpp b/searchcore/src/vespa/searchcore/proton/metrics/executor_threading_service_metrics.cpp
new file mode 100644
index 00000000000..2b7908633c9
--- /dev/null
+++ b/searchcore/src/vespa/searchcore/proton/metrics/executor_threading_service_metrics.cpp
@@ -0,0 +1,32 @@
+// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#include "executor_threading_service_metrics.h"
+#include "executor_threading_service_stats.h"
+
+namespace proton {
+
+ExecutorThreadingServiceMetrics::ExecutorThreadingServiceMetrics(const std::string &name, metrics::MetricSet *parent)
+ : metrics::MetricSet(name, "", "Instance specific threading service metrics", parent),
+ master("master", this),
+ index("index", this),
+ summary("summary", this),
+ indexFieldInverter("index_field_inverter", this),
+ indexFieldWriter("index_field_writer", this),
+ attributeFieldWriter("attribute_field_writer", this)
+{
+}
+
+ExecutorThreadingServiceMetrics::~ExecutorThreadingServiceMetrics() = default;
+
+void
+ExecutorThreadingServiceMetrics::update(const ExecutorThreadingServiceStats &stats)
+{
+ master.update(stats.getMasterExecutorStats());
+ index.update(stats.getIndexExecutorStats());
+ summary.update(stats.getSummaryExecutorStats());
+ indexFieldInverter.update(stats.getIndexFieldInverterExecutorStats());
+ indexFieldWriter.update(stats.getIndexFieldWriterExecutorStats());
+ attributeFieldWriter.update(stats.getAttributeFieldWriterExecutorStats());
+}
+
+}
diff --git a/searchcore/src/vespa/searchcore/proton/metrics/executor_threading_service_metrics.h b/searchcore/src/vespa/searchcore/proton/metrics/executor_threading_service_metrics.h
new file mode 100644
index 00000000000..18326143c65
--- /dev/null
+++ b/searchcore/src/vespa/searchcore/proton/metrics/executor_threading_service_metrics.h
@@ -0,0 +1,29 @@
+// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#pragma once
+
+#include "executor_metrics.h"
+
+namespace proton {
+
+class ExecutorThreadingServiceStats;
+
+/*
+ * Metrics for executor threading service, i.e. tasks
+ * accepted/rejected, queue len for each executor in a document db.
+ */
+struct ExecutorThreadingServiceMetrics : metrics::MetricSet
+{
+ ExecutorMetrics master;
+ ExecutorMetrics index;
+ ExecutorMetrics summary;
+ ExecutorMetrics indexFieldInverter;
+ ExecutorMetrics indexFieldWriter;
+ ExecutorMetrics attributeFieldWriter;
+
+ void update(const ExecutorThreadingServiceStats &stats);
+ ExecutorThreadingServiceMetrics(const std::string &name, metrics::MetricSet *parent);
+ ~ExecutorThreadingServiceMetrics();
+};
+
+}
diff --git a/searchcore/src/vespa/searchcore/proton/server/executor_threading_service_stats.cpp b/searchcore/src/vespa/searchcore/proton/metrics/executor_threading_service_stats.cpp
index c17731efbc5..c17731efbc5 100644
--- a/searchcore/src/vespa/searchcore/proton/server/executor_threading_service_stats.cpp
+++ b/searchcore/src/vespa/searchcore/proton/metrics/executor_threading_service_stats.cpp
diff --git a/searchcore/src/vespa/searchcore/proton/server/executor_threading_service_stats.h b/searchcore/src/vespa/searchcore/proton/metrics/executor_threading_service_stats.h
index 7fbff6e5eb0..7fbff6e5eb0 100644
--- a/searchcore/src/vespa/searchcore/proton/server/executor_threading_service_stats.h
+++ b/searchcore/src/vespa/searchcore/proton/metrics/executor_threading_service_stats.h
diff --git a/searchcore/src/vespa/searchcore/proton/server/CMakeLists.txt b/searchcore/src/vespa/searchcore/proton/server/CMakeLists.txt
index cabbc5c101c..8ee6a4f73ae 100644
--- a/searchcore/src/vespa/searchcore/proton/server/CMakeLists.txt
+++ b/searchcore/src/vespa/searchcore/proton/server/CMakeLists.txt
@@ -34,7 +34,6 @@ vespa_add_library(searchcore_server STATIC
documentsubdbcollection.cpp
emptysearchview.cpp
executor_thread_service.cpp
- executor_threading_service_stats.cpp
executorthreadingservice.cpp
fast_access_doc_subdb.cpp
fast_access_doc_subdb_configurer.cpp
diff --git a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
index 2c37d847ba3..73dfedeb867 100644
--- a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
@@ -11,7 +11,7 @@
#include "maintenance_jobs_injector.h"
#include "reconfig_params.h"
#include "bootstrapconfig.h"
-#include "executor_threading_service_stats.h"
+#include <vespa/searchcore/proton/metrics/executor_threading_service_stats.h>
#include <vespa/searchcore/proton/attribute/attribute_writer.h>
#include <vespa/searchcore/proton/attribute/imported_attributes_repo.h>
#include <vespa/searchcore/proton/common/eventlogger.h>
@@ -1270,8 +1270,9 @@ updateMetrics(DocumentDBTaggedMetrics::AttributeMetrics &metrics)
}
void
-DocumentDB::updateMetrics(DocumentDBTaggedMetrics &metrics, const ExecutorThreadingServiceStats &)
+DocumentDB::updateMetrics(DocumentDBTaggedMetrics &metrics, const ExecutorThreadingServiceStats &threadingServiceStats)
{
+ metrics.threadingService.update(threadingServiceStats);
_jobTrackers.updateMetrics(metrics.job);
updateMetrics(metrics.attribute);
diff --git a/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp b/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp
index 9a9bc3d2904..1c4825753a8 100644
--- a/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/executorthreadingservice.cpp
@@ -2,7 +2,7 @@
#include "executorthreadingservice.h"
#include <vespa/vespalib/util/executor.h>
-#include "executor_threading_service_stats.h"
+#include <vespa/searchcore/proton/metrics/executor_threading_service_stats.h>
using vespalib::ThreadStackExecutorBase;