summaryrefslogtreecommitdiffstats
path: root/metrics/src/tests/stresstest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'metrics/src/tests/stresstest.cpp')
-rw-r--r--metrics/src/tests/stresstest.cpp53
1 files changed, 17 insertions, 36 deletions
diff --git a/metrics/src/tests/stresstest.cpp b/metrics/src/tests/stresstest.cpp
index f3e709b4b04..df6641c9798 100644
--- a/metrics/src/tests/stresstest.cpp
+++ b/metrics/src/tests/stresstest.cpp
@@ -1,6 +1,5 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/metrics/loadmetric.hpp>
#include <vespa/metrics/metricmanager.h>
#include <vespa/metrics/metrics.h>
#include <vespa/metrics/summetric.hpp>
@@ -15,42 +14,38 @@ namespace metrics {
namespace {
struct InnerMetricSet : public MetricSet {
- const LoadTypeSet& _loadTypes;
LongCountMetric _count;
LongAverageMetric _value1;
LongAverageMetric _value2;
SumMetric<LongAverageMetric> _valueSum;
- LoadMetric<LongAverageMetric> _load;
- InnerMetricSet(const char* name, const LoadTypeSet& lt, MetricSet* owner = 0);
+ InnerMetricSet(const char* name, MetricSet* owner = 0);
~InnerMetricSet();
MetricSet* clone(std::vector<Metric::UP> &ownerList, CopyType copyType,
MetricSet* owner, bool includeUnused) const override;
};
-InnerMetricSet::InnerMetricSet(const char* name, const LoadTypeSet& lt, MetricSet* owner)
+InnerMetricSet::InnerMetricSet(const char* name, MetricSet* owner)
: MetricSet(name, {}, "", owner),
- _loadTypes(lt),
_count("count", {}, "", this),
_value1("value1", {}, "", this),
_value2("value2", {}, "", this),
- _valueSum("valuesum", {}, "", this),
- _load(lt, LongAverageMetric("load", {}, ""), this)
+ _valueSum("valuesum", {}, "", this)
{
_valueSum.addMetricToSum(_value1);
_valueSum.addMetricToSum(_value2);
}
InnerMetricSet::~InnerMetricSet() = default;
- MetricSet*
- InnerMetricSet::clone(std::vector<Metric::UP> &ownerList, CopyType copyType,
- MetricSet* owner, bool includeUnused) const
+MetricSet*
+InnerMetricSet::clone(std::vector<Metric::UP> &ownerList, CopyType copyType,
+ MetricSet* owner, bool includeUnused) const
{
if (copyType != CLONE) {
return MetricSet::clone(ownerList, copyType, owner, includeUnused);
}
- InnerMetricSet * myset = new InnerMetricSet(getName().c_str(), _loadTypes, owner);
+ InnerMetricSet * myset = new InnerMetricSet(getName().c_str(), owner);
myset->assignValues(*this);
return myset;
}
@@ -60,37 +55,31 @@ struct OuterMetricSet : public MetricSet {
InnerMetricSet _inner2;
SumMetric<InnerMetricSet> _innerSum;
InnerMetricSet _tmp;
- LoadMetric<InnerMetricSet> _load;
- OuterMetricSet(const LoadTypeSet& lt, MetricSet* owner = 0);
+ OuterMetricSet(MetricSet* owner = 0);
~OuterMetricSet();
};
-OuterMetricSet::OuterMetricSet(const LoadTypeSet& lt, MetricSet* owner)
+OuterMetricSet::OuterMetricSet(MetricSet* owner)
: MetricSet("outer", {}, "", owner),
- _inner1("inner1", lt, this),
- _inner2("inner2", lt, this),
+ _inner1("inner1", this),
+ _inner2("inner2", this),
_innerSum("innersum", {}, "", this),
- _tmp("innertmp", lt, 0),
- _load(lt, _tmp, this)
+ _tmp("innertmp", 0)
{
_innerSum.addMetricToSum(_inner1);
_innerSum.addMetricToSum(_inner2);
}
-OuterMetricSet::~OuterMetricSet() { }
+OuterMetricSet::~OuterMetricSet() = default;
struct Hammer : public document::Runnable {
using UP = std::unique_ptr<Hammer>;
OuterMetricSet& _metrics;
- const LoadTypeSet& _loadTypes;
- LoadType _nonexistingLoadType;
- Hammer(OuterMetricSet& metrics, const LoadTypeSet& lt,
- FastOS_ThreadPool& threadPool)
- : _metrics(metrics), _loadTypes(lt),
- _nonexistingLoadType(123, "nonexisting")
+ Hammer(OuterMetricSet& metrics,FastOS_ThreadPool& threadPool)
+ : _metrics(metrics)
{
start(threadPool);
}
@@ -106,8 +95,6 @@ struct Hammer : public document::Runnable {
++i;
setMetrics(i, _metrics._inner1);
setMetrics(i + 3, _metrics._inner2);
- const LoadType& loadType(_loadTypes[i % _loadTypes.size()]);
- setMetrics(i + 5, _metrics._load[loadType]);
}
}
@@ -115,7 +102,6 @@ struct Hammer : public document::Runnable {
set._count.inc(val);
set._value1.addValue(val);
set._value2.addValue(val + 10);
- set._load[_loadTypes[val % _loadTypes.size()]].addValue(val);
}
};
@@ -124,18 +110,13 @@ struct Hammer : public document::Runnable {
TEST(StressTest, test_stress)
{
- LoadTypeSet loadTypes;
- loadTypes.push_back(LoadType(0, "default"));
- loadTypes.push_back(LoadType(2, "foo"));
- loadTypes.push_back(LoadType(1, "bar"));
-
- OuterMetricSet metrics(loadTypes);
+ OuterMetricSet metrics;
LOG(info, "Starting load givers");
FastOS_ThreadPool threadPool(256 * 1024);
std::vector<Hammer::UP> hammers;
for (uint32_t i=0; i<10; ++i) {
- hammers.push_back(std::make_unique<Hammer>(metrics, loadTypes, threadPool));
+ hammers.push_back(std::make_unique<Hammer>(metrics, threadPool));
}
LOG(info, "Waiting to let loadgivers hammer a while");
std::this_thread::sleep_for(5s);