MultiThreadingMgr::call(mutex_, [&]() {stats_.clear();});
}
-void StatContext::reset() {
+void StatContext::resetAll() {
auto lambda = [&]() {
// Let's iterate over all stored statistics...
for (auto s : stats_) {
}
void
-StatContext::setMaxSampleAgeAll(const StatsDuration& duration) {
+StatContext::setMaxSampleCountAll(uint32_t max_samples) {
auto lambda = [&]() {
// Let's iterate over all stored statistics...
for (auto s : stats_) {
- // ... and set duration limit for each statistic.
- s.second->setMaxSampleAge(duration);
+ // ... and set count limit for each statistic.
+ s.second->setMaxSampleCount(max_samples);
}
};
MultiThreadingMgr::call(mutex_, lambda);
}
void
-StatContext::setMaxSampleCountAll(uint32_t max_samples) {
+StatContext::setMaxSampleAgeAll(const StatsDuration& duration) {
auto lambda = [&]() {
// Let's iterate over all stored statistics...
for (auto s : stats_) {
- // ... and set count limit for each statistic.
- s.second->setMaxSampleCount(max_samples);
+ // ... and set duration limit for each statistic.
+ s.second->setMaxSampleAge(duration);
}
};
MultiThreadingMgr::call(mutex_, lambda);
#include <stats/context.h>
#include <gtest/gtest.h>
+#include <util/boost_time_utils.h>
#include <string>
using namespace isc::data;
using namespace isc::stats;
+using namespace boost::posix_time;
using namespace std;
// Basic test that checks get, add, del methods
EXPECT_EQ(result->str(), expected_result->str());
// Reset all statistics.
- EXPECT_NO_THROW(ctx.reset());
+ EXPECT_NO_THROW(ctx.resetAll());
EXPECT_NO_THROW(from_ctx = ctx.get("alpha"));
ASSERT_TRUE(from_ctx);
EXPECT_NE(expected_c, from_ctx->getJSON()->str());
EXPECT_EQ(0.0, c->getFloat().first);
+ // Set sample count for all statistics
+ EXPECT_NO_THROW(ctx.setMaxSampleCountAll(50));
+
+ EXPECT_NO_THROW(from_ctx = ctx.get("alpha"));
+ ASSERT_TRUE(from_ctx);
+ EXPECT_EQ(from_ctx->getMaxSampleCount().second, 50);
+
+ EXPECT_NO_THROW(from_ctx = ctx.get("gamma"));
+ ASSERT_TRUE(from_ctx);
+ EXPECT_EQ(from_ctx->getMaxSampleCount().second, 50);
+
+ // Set sample age for all statistics
+ EXPECT_NO_THROW(ctx.setMaxSampleAgeAll(millisec::time_duration(0, 4, 5, 3)));
+
+ EXPECT_NO_THROW(from_ctx = ctx.get("alpha"));
+ ASSERT_TRUE(from_ctx);
+ EXPECT_EQ(from_ctx->getMaxSampleAge().second, millisec::time_duration(0, 4, 5, 3));
+
+ EXPECT_NO_THROW(from_ctx = ctx.get("gamma"));
+ ASSERT_TRUE(from_ctx);
+ EXPECT_EQ(from_ctx->getMaxSampleAge().second, millisec::time_duration(0, 4, 5, 3));
+
// Clear all statistics.
EXPECT_NO_THROW(ctx.clear());
EXPECT_EQ(0, ctx.size());