summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-08-22 15:20:07 +0200
committerGitHub <noreply@github.com>2019-08-22 15:20:07 +0200
commit5e6a6f708ea01f05b27795ca77fa79dc5d57a6aa (patch)
tree465dd21d7d013b56e203b13f722c9796b43db807
parent0c0c4422700f22733191c123d9115f2ffe634ec3 (diff)
parente2f21822b2b32977c4a614fc6f30a95f77c6b068 (diff)
Merge pull request #10375 from vespa-engine/balder/soft_doom_factor-metric
Balder/soft doom factor metric
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java8
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h29
3 files changed, 25 insertions, 14 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java
index 0c0701983a4..970d03689ab 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java
@@ -413,6 +413,10 @@ public class VespaMetricSet {
// matching
metrics.add(new Metric("content.proton.documentdb.matching.queries.rate"));
metrics.add(new Metric("content.proton.documentdb.matching.soft_doomed_queries.rate"));
+ metrics.add(new Metric("content.proton.documentdb.matching.soft_doom_factor.min"));
+ metrics.add(new Metric("content.proton.documentdb.matching.soft_doom_factor.max"));
+ metrics.add(new Metric("content.proton.documentdb.matching.soft_doom_factor.sum"));
+ metrics.add(new Metric("content.proton.documentdb.matching.soft_doom_factor.count"));
metrics.add(new Metric("content.proton.documentdb.matching.query_latency.max"));
metrics.add(new Metric("content.proton.documentdb.matching.query_latency.sum"));
metrics.add(new Metric("content.proton.documentdb.matching.query_latency.count"));
@@ -424,6 +428,10 @@ public class VespaMetricSet {
metrics.add(new Metric("content.proton.documentdb.matching.docs_matched.rate"));
metrics.add(new Metric("content.proton.documentdb.matching.rank_profile.queries.rate"));
metrics.add(new Metric("content.proton.documentdb.matching.rank_profile.soft_doomed_queries.rate"));
+ metrics.add(new Metric("content.proton.documentdb.matching.rank_profile.soft_doom_factor.min"));
+ metrics.add(new Metric("content.proton.documentdb.matching.rank_profile.soft_doom_factor.max"));
+ metrics.add(new Metric("content.proton.documentdb.matching.rank_profile.soft_doom_factor.sum"));
+ metrics.add(new Metric("content.proton.documentdb.matching.rank_profile.soft_doom_factor.count"));
metrics.add(new Metric("content.proton.documentdb.matching.rank_profile.query_latency.max"));
metrics.add(new Metric("content.proton.documentdb.matching.rank_profile.query_latency.sum"));
metrics.add(new Metric("content.proton.documentdb.matching.rank_profile.query_latency.count"));
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 dcb68c15c0e..c8c53d6f795 100644
--- a/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp
+++ b/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.cpp
@@ -149,6 +149,7 @@ DocumentDBTaggedMetrics::MatchingMetrics::RankProfileMetrics::RankProfileMetrics
queries("queries", {}, "Number of queries executed", this),
limitedQueries("limited_queries", {}, "Number of queries limited in match phase", this),
softDoomedQueries("soft_doomed_queries", {}, "Number of queries hitting the soft timeout", this),
+ softDoomFactor("soft_doom_factor", {}, "Factor used to compute soft-timeout", this),
matchTime("match_time", {}, "Average time (sec) for matching a query (1st phase)", this),
groupingTime("grouping_time", {}, "Average time (sec) spent on grouping", this),
rerankTime("rerank_time", {}, "Average time (sec) spent on 2nd phase ranking", this),
@@ -195,6 +196,7 @@ DocumentDBTaggedMetrics::MatchingMetrics::RankProfileMetrics::update(const Match
queries.inc(stats.queries());
limitedQueries.inc(stats.limited_queries());
softDoomedQueries.inc(stats.softDoomed());
+ softDoomFactor.set(stats.softDoomFactor());
matchTime.addValueBatch(stats.matchTimeAvg(), stats.matchTimeCount(),
stats.matchTimeMin(), stats.matchTimeMax());
groupingTime.addValueBatch(stats.groupingTimeAvg(), stats.groupingTimeCount(),
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 29c29d642e7..12aba210b17 100644
--- a/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h
+++ b/searchcore/src/vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h
@@ -30,7 +30,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
metrics::DoubleAverageMetric total;
JobMetrics(metrics::MetricSet *parent);
- ~JobMetrics();
+ ~JobMetrics() override;
};
struct SubDBMetrics : metrics::MetricSet
@@ -45,7 +45,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
metrics::DoubleValueMetric lidFragmentationFactor;
LidSpaceMetrics(metrics::MetricSet *parent);
- ~LidSpaceMetrics();
+ ~LidSpaceMetrics() override;
};
struct DocumentStoreMetrics : metrics::MetricSet
@@ -59,7 +59,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
metrics::LongCountMetric invalidations;
CacheMetrics(metrics::MetricSet *parent);
- ~CacheMetrics();
+ ~CacheMetrics() override;
};
metrics::LongValueMetric diskUsage;
@@ -69,7 +69,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
CacheMetrics cache;
DocumentStoreMetrics(metrics::MetricSet *parent);
- ~DocumentStoreMetrics();
+ ~DocumentStoreMetrics() override;
};
LidSpaceMetrics lidSpace;
@@ -77,7 +77,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
proton::AttributeMetrics attributes;
SubDBMetrics(const vespalib::string &name, metrics::MetricSet *parent);
- ~SubDBMetrics();
+ ~SubDBMetrics() override;
};
struct AttributeMetrics : metrics::MetricSet
@@ -89,14 +89,14 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
metrics::LongValueMetric feedingBlocked;
ResourceUsageMetrics(metrics::MetricSet *parent);
- ~ResourceUsageMetrics();
+ ~ResourceUsageMetrics() override;
};
ResourceUsageMetrics resourceUsage;
MemoryUsageMetrics totalMemoryUsage;
AttributeMetrics(metrics::MetricSet *parent);
- ~AttributeMetrics();
+ ~AttributeMetrics() override;
};
struct IndexMetrics : metrics::MetricSet
@@ -106,7 +106,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
metrics::LongValueMetric docsInMemory;
IndexMetrics(metrics::MetricSet *parent);
- ~IndexMetrics();
+ ~IndexMetrics() override;
};
struct MatchingMetrics : metrics::MetricSet {
@@ -129,7 +129,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
using UP = std::unique_ptr<DocIdPartition>;
DocIdPartition(const vespalib::string &name, metrics::MetricSet *parent);
- ~DocIdPartition();
+ ~DocIdPartition() override;
void update(const matching::MatchingStats::Partition &stats);
};
using DocIdPartitions = std::vector<DocIdPartition::UP>;
@@ -141,6 +141,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
metrics::LongCountMetric queries;
metrics::LongCountMetric limitedQueries;
metrics::LongCountMetric softDoomedQueries;
+ metrics::DoubleValueMetric softDoomFactor;
metrics::DoubleAverageMetric matchTime;
metrics::DoubleAverageMetric groupingTime;
metrics::DoubleAverageMetric rerankTime;
@@ -151,7 +152,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
RankProfileMetrics(const vespalib::string &name,
size_t numDocIdPartitions,
metrics::MetricSet *parent);
- ~RankProfileMetrics();
+ ~RankProfileMetrics() override;
void update(const matching::MatchingStats &stats);
};
@@ -160,7 +161,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
void update(const matching::MatchingStats &stats);
MatchingMetrics(metrics::MetricSet *parent);
- ~MatchingMetrics();
+ ~MatchingMetrics() override;
};
struct SessionCacheMetrics : metrics::MetricSet {
@@ -168,7 +169,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
SessionManagerMetrics grouping;
SessionCacheMetrics(metrics::MetricSet *parent);
- ~SessionCacheMetrics();
+ ~SessionCacheMetrics() override;
};
struct DocumentsMetrics : metrics::MetricSet {
@@ -178,7 +179,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
metrics::LongValueMetric removed;
DocumentsMetrics(metrics::MetricSet *parent);
- ~DocumentsMetrics();
+ ~DocumentsMetrics() override;
};
JobMetrics job;
@@ -196,7 +197,7 @@ struct DocumentDBTaggedMetrics : metrics::MetricSet
size_t maxNumThreads;
DocumentDBTaggedMetrics(const vespalib::string &docTypeName, size_t maxNumThreads_);
- ~DocumentDBTaggedMetrics();
+ ~DocumentDBTaggedMetrics() override;
};
}