aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp4
-rw-r--r--searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp2
-rw-r--r--searchcore/src/tests/proton/documentdb/storeonlyfeedview/storeonlyfeedview_test.cpp34
-rw-r--r--searchcore/src/vespa/searchcore/proton/common/commit_time_tracker.cpp14
-rw-r--r--searchcore/src/vespa/searchcore/proton/common/commit_time_tracker.h14
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp4
-rw-r--r--searchlib/src/tests/groupingengine/groupingengine_benchmark.cpp2
-rw-r--r--staging_vespalib/src/tests/array/allocinarray_benchmark.cpp2
-rw-r--r--staging_vespalib/src/tests/array/sort_benchmark.cpp2
-rw-r--r--staging_vespalib/src/tests/rusage/rusage_test.cpp4
-rw-r--r--staging_vespalib/src/vespa/vespalib/util/rusage.cpp18
-rw-r--r--staging_vespalib/src/vespa/vespalib/util/rusage.h8
-rw-r--r--vespalib/src/tests/time/time_test.cpp10
-rw-r--r--vespalib/src/vespa/vespalib/util/time.h4
14 files changed, 64 insertions, 58 deletions
diff --git a/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp b/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp
index 069541eea91..1ad6b6cdc43 100644
--- a/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp
@@ -127,7 +127,7 @@ ViewSet::ViewSet()
_dmsc(),
_gidToLidChangeHandler(),
_lidReuseDelayer(),
- _commitTimeTracker(TimeStamp()),
+ _commitTimeTracker(vespalib::duration::zero()),
searchView(),
feedView(),
_hwInfo()
@@ -256,7 +256,7 @@ struct MyFastAccessFeedView
_dmsc(),
_gidToLidChangeHandler(make_shared<DummyGidToLidChangeHandler>()),
_lidReuseDelayer(),
- _commitTimeTracker(TimeStamp()),
+ _commitTimeTracker(vespalib::duration::zero()),
_feedView()
{
init();
diff --git a/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp b/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
index 839228b79b8..ca513cb1cfb 100644
--- a/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp
@@ -707,7 +707,7 @@ FixtureBase::FixtureBase(vespalib::duration visibilityDelay)
_writeServiceReal(_sharedExecutor),
_writeService(_writeServiceReal),
_lidReuseDelayer(_writeService, _dmsc->get()),
- _commitTimeTracker(vespalib::count_ns(visibilityDelay)),
+ _commitTimeTracker(visibilityDelay),
serial(0),
_gidToLidChangeHandler(std::make_shared<MyGidToLidChangeHandler>())
{
diff --git a/searchcore/src/tests/proton/documentdb/storeonlyfeedview/storeonlyfeedview_test.cpp b/searchcore/src/tests/proton/documentdb/storeonlyfeedview/storeonlyfeedview_test.cpp
index 2d5f86fbc58..7c9df8d3e47 100644
--- a/searchcore/src/tests/proton/documentdb/storeonlyfeedview/storeonlyfeedview_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/storeonlyfeedview/storeonlyfeedview_test.cpp
@@ -94,8 +94,7 @@ struct MyMinimalFeedView : public MyMinimalFeedViewBase, public StoreOnlyFeedVie
MyMinimalFeedViewBase(),
StoreOnlyFeedView(StoreOnlyFeedView::Context(summaryAdapter,
search::index::Schema::SP(),
- DocumentMetaStoreContext::SP(
- new DocumentMetaStoreContext(metaStore)),
+ std::make_shared<DocumentMetaStoreContext>(metaStore),
*gidToLidChangeHandler,
myGetDocumentTypeRepo(),
writeService,
@@ -109,23 +108,19 @@ struct MyMinimalFeedView : public MyMinimalFeedViewBase, public StoreOnlyFeedVie
outstandingMoveOps(outstandingMoveOps_)
{
}
- virtual void removeAttributes(SerialNum s, const LidVector &l,
- bool immediateCommit, OnWriteDoneType onWriteDone) override {
+ void removeAttributes(SerialNum s, const LidVector &l, bool immediateCommit, OnWriteDoneType onWriteDone) override {
StoreOnlyFeedView::removeAttributes(s, l, immediateCommit, onWriteDone);
++removeMultiAttributesCount;
}
- virtual void removeIndexedFields(SerialNum s, const LidVector &l,
- bool immediateCommit,
- OnWriteDoneType onWriteDone) override {
- StoreOnlyFeedView::removeIndexedFields(s, l,
- immediateCommit, onWriteDone);
+ void removeIndexedFields(SerialNum s, const LidVector &l, bool immediateCommit, OnWriteDoneType onWriteDone) override {
+ StoreOnlyFeedView::removeIndexedFields(s, l, immediateCommit, onWriteDone);
++removeMultiIndexFieldsCount;
}
- virtual void heartBeatIndexedFields(SerialNum s) override {
+ void heartBeatIndexedFields(SerialNum s) override {
StoreOnlyFeedView::heartBeatIndexedFields(s);
++heartBeatIndexedFieldsCount;
}
- virtual void heartBeatAttributes(SerialNum s) override {
+ void heartBeatAttributes(SerialNum s) override {
StoreOnlyFeedView::heartBeatAttributes(s);
++heartBeatAttributesCount;
}
@@ -154,26 +149,23 @@ struct MoveOperationFeedView : public MyMinimalFeedView {
removeIndexFieldsCount(0),
onWriteDoneContexts()
{}
- virtual void putAttributes(SerialNum, search::DocumentIdT, const document::Document &,
- bool, OnPutDoneType onWriteDone) override {
+ void putAttributes(SerialNum, search::DocumentIdT, const document::Document &, bool, OnPutDoneType onWriteDone) override {
++putAttributesCount;
EXPECT_EQUAL(1, outstandingMoveOps);
onWriteDoneContexts.push_back(onWriteDone);
}
- virtual void putIndexedFields(SerialNum, search::DocumentIdT, const document::Document::SP &,
- bool, OnOperationDoneType onWriteDone) override {
+ void putIndexedFields(SerialNum, search::DocumentIdT, const document::Document::SP &,
+ bool, OnOperationDoneType onWriteDone) override {
++putIndexFieldsCount;
EXPECT_EQUAL(1, outstandingMoveOps);
onWriteDoneContexts.push_back(onWriteDone);
}
- virtual void removeAttributes(SerialNum, search::DocumentIdT,
- bool, OnRemoveDoneType onWriteDone) override {
+ void removeAttributes(SerialNum, search::DocumentIdT, bool, OnRemoveDoneType onWriteDone) override {
++removeAttributesCount;
EXPECT_EQUAL(1, outstandingMoveOps);
onWriteDoneContexts.push_back(onWriteDone);
}
- virtual void removeIndexedFields(SerialNum, search::DocumentIdT,
- bool, OnRemoveDoneType onWriteDone) override {
+ void removeIndexedFields(SerialNum, search::DocumentIdT, bool, OnRemoveDoneType onWriteDone) override {
++removeIndexFieldsCount;
EXPECT_EQUAL(1, outstandingMoveOps);
onWriteDoneContexts.push_back(onWriteDone);
@@ -186,7 +178,7 @@ struct MoveOperationCallback : public IDestructorCallback {
MoveOperationCallback(int &outstandingMoveOps_) : outstandingMoveOps(outstandingMoveOps_) {
++outstandingMoveOps;
}
- virtual ~MoveOperationCallback() {
+ ~MoveOperationCallback() override {
ASSERT_GREATER(outstandingMoveOps, 0);
--outstandingMoveOps;
}
@@ -220,7 +212,7 @@ struct FixtureBase {
sharedExecutor(1, 0x10000),
writeService(sharedExecutor),
lidReuseDelayer(writeService, *metaStore),
- commitTimeTracker(fastos::TimeStamp()),
+ commitTimeTracker(vespalib::duration::zero()),
feedview()
{
StoreOnlyFeedView::PersistentParams params(0, 0, DocTypeName("foo"), subdb_id, subDbType);
diff --git a/searchcore/src/vespa/searchcore/proton/common/commit_time_tracker.cpp b/searchcore/src/vespa/searchcore/proton/common/commit_time_tracker.cpp
index c9db3d23979..eaf515d4fa5 100644
--- a/searchcore/src/vespa/searchcore/proton/common/commit_time_tracker.cpp
+++ b/searchcore/src/vespa/searchcore/proton/common/commit_time_tracker.cpp
@@ -4,9 +4,9 @@
namespace proton {
-CommitTimeTracker::CommitTimeTracker(fastos::TimeStamp visibilityDelay)
+CommitTimeTracker::CommitTimeTracker(vespalib::duration visibilityDelay)
: _visibilityDelay(visibilityDelay),
- _nextCommit(fastos::ClockSteady::now()),
+ _nextCommit(vespalib::steady_clock::now()),
_replayDone(false)
{
_nextCommit = _nextCommit + visibilityDelay;
@@ -15,11 +15,11 @@ CommitTimeTracker::CommitTimeTracker(fastos::TimeStamp visibilityDelay)
bool
CommitTimeTracker::needCommit() const
{
- if (_visibilityDelay > 0) {
+ if (hasVisibilityDelay()) {
if (_replayDone) {
return false; // maintenance job will do forced commits now
}
- fastos::SteadyTimeStamp now(fastos::ClockSteady::now());
+ vespalib::steady_time now(vespalib::steady_clock::now());
if (now > _nextCommit) {
_nextCommit = now + _visibilityDelay;
return true;
@@ -30,13 +30,13 @@ CommitTimeTracker::needCommit() const
}
void
-CommitTimeTracker::setVisibilityDelay(fastos::TimeStamp visibilityDelay)
+CommitTimeTracker::setVisibilityDelay(vespalib::duration visibilityDelay)
{
- fastos::SteadyTimeStamp nextCommit = fastos::ClockSteady::now() + visibilityDelay;
+ vespalib::steady_time nextCommit = vespalib::steady_clock::now() + visibilityDelay;
if (nextCommit < _nextCommit) {
_nextCommit = nextCommit;
}
_visibilityDelay = visibilityDelay;
}
-} // namespace proton
+}
diff --git a/searchcore/src/vespa/searchcore/proton/common/commit_time_tracker.h b/searchcore/src/vespa/searchcore/proton/common/commit_time_tracker.h
index d00152cf372..02bf87f0a08 100644
--- a/searchcore/src/vespa/searchcore/proton/common/commit_time_tracker.h
+++ b/searchcore/src/vespa/searchcore/proton/common/commit_time_tracker.h
@@ -1,7 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <vespa/fastos/timestamp.h>
+#include <vespa/vespalib/util/time.h>
namespace proton {
@@ -11,18 +11,18 @@ namespace proton {
class CommitTimeTracker
{
private:
- fastos::TimeStamp _visibilityDelay;
- mutable fastos::SteadyTimeStamp _nextCommit;
- bool _replayDone;
+ vespalib::duration _visibilityDelay;
+ mutable vespalib::steady_time _nextCommit;
+ bool _replayDone;
public:
- CommitTimeTracker(fastos::TimeStamp visibilityDelay);
+ CommitTimeTracker(vespalib::duration visibilityDelay);
bool needCommit() const;
- void setVisibilityDelay(fastos::TimeStamp visibilityDelay);
+ void setVisibilityDelay(vespalib::duration visibilityDelay);
- bool hasVisibilityDelay() const { return _visibilityDelay != 0; }
+ bool hasVisibilityDelay() const { return _visibilityDelay != vespalib::duration::zero(); }
void setReplayDone() { _replayDone = true; }
};
diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp
index 609982a46d5..44d3e618b93 100644
--- a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp
@@ -125,7 +125,7 @@ StoreOnlyDocSubDB::StoreOnlyDocSubDB(const Config &cfg, const Context &ctx)
_subDbType(cfg._subDbType),
_fileHeaderContext(*this, ctx._fileHeaderContext, _docTypeName, _baseDir),
_lidReuseDelayer(),
- _commitTimeTracker(TimeStamp::Seconds(3600.0)),
+ _commitTimeTracker(vespalib::from_s(3600)),
_gidToLidChangeHandler(std::make_shared<DummyGidToLidChangeHandler>())
{
vespalib::mkdir(_baseDir, false); // Assume parent is created.
@@ -401,7 +401,7 @@ StoreOnlyDocSubDB::updateLidReuseDelayer(const LidReuseDelayerConfig &config)
* feed view before applying the new config to the sub dbs.
*/
_lidReuseDelayer->setImmediateCommit(immediateCommit);
- _commitTimeTracker.setVisibilityDelay(config.visibilityDelay());
+ _commitTimeTracker.setVisibilityDelay(vespalib::from_s(config.visibilityDelay()));
}
IReprocessingTask::List
diff --git a/searchlib/src/tests/groupingengine/groupingengine_benchmark.cpp b/searchlib/src/tests/groupingengine/groupingengine_benchmark.cpp
index 8f22ab87c97..36a567e5675 100644
--- a/searchlib/src/tests/groupingengine/groupingengine_benchmark.cpp
+++ b/searchlib/src/tests/groupingengine/groupingengine_benchmark.cpp
@@ -277,7 +277,7 @@ Test::Main()
LOG(info, "sizeof(CountAggregationResult) = %ld", sizeof(CountAggregationResult));
LOG(info, "sizeof(Int64ResultNode) = %ld", sizeof(Int64ResultNode));
- fastos::SteadyTimeStamp start(fastos::ClockSteady::now());
+ vespalib::steady_time start(vespalib::steady_clock::now());
if (idType == "int") {
if (aggrType == "sum") {
benchmarkIntegerSum(useEngine, numDocs, numQueries, maxGroups);
diff --git a/staging_vespalib/src/tests/array/allocinarray_benchmark.cpp b/staging_vespalib/src/tests/array/allocinarray_benchmark.cpp
index a9e1499f014..db468044e48 100644
--- a/staging_vespalib/src/tests/array/allocinarray_benchmark.cpp
+++ b/staging_vespalib/src/tests/array/allocinarray_benchmark.cpp
@@ -111,7 +111,7 @@ Test::Main()
count = strtol(_argv[2], NULL, 0);
}
TEST_INIT("allocinarray_benchmark");
- fastos::SteadyTimeStamp start(fastos::ClockSteady::now());
+ steady_time start(steady_clock::now());
if (type == "direct") {
benchmarkTree(count);
} else {
diff --git a/staging_vespalib/src/tests/array/sort_benchmark.cpp b/staging_vespalib/src/tests/array/sort_benchmark.cpp
index 03a99aa044f..3fd900503c4 100644
--- a/staging_vespalib/src/tests/array/sort_benchmark.cpp
+++ b/staging_vespalib/src/tests/array/sort_benchmark.cpp
@@ -100,7 +100,7 @@ Test::Main()
payLoad = strtol(_argv[3], NULL, 0);
}
TEST_INIT("sort_benchmark");
- fastos::SteadyTimeStamp start(fastos::ClockSteady::now());
+ steady_time start(steady_clock::now());
if (payLoad < 8) {
typedef TT<8> T;
if (type == "sortdirect") {
diff --git a/staging_vespalib/src/tests/rusage/rusage_test.cpp b/staging_vespalib/src/tests/rusage/rusage_test.cpp
index 23b9d4072b1..942140086d6 100644
--- a/staging_vespalib/src/tests/rusage/rusage_test.cpp
+++ b/staging_vespalib/src/tests/rusage/rusage_test.cpp
@@ -30,12 +30,12 @@ Test::testRUsage()
RUsage diff = r2-r1;
EXPECT_EQUAL(diff.toString(), r2.toString());
{
- RUsage then = RUsage::createSelf(fastos::SteadyTimeStamp(7));
+ RUsage then = RUsage::createSelf(steady_time(duration(7)));
RUsage now = RUsage::createSelf();
EXPECT_NOT_EQUAL(now.toString(), then.toString());
}
{
- RUsage then = RUsage::createChildren(fastos::SteadyTimeStamp(1337583));
+ RUsage then = RUsage::createChildren(steady_time(duration(1337583)));
RUsage now = RUsage::createChildren();
EXPECT_NOT_EQUAL(now.toString(), then.toString());
}
diff --git a/staging_vespalib/src/vespa/vespalib/util/rusage.cpp b/staging_vespalib/src/vespa/vespalib/util/rusage.cpp
index 32f76775586..d5910148c79 100644
--- a/staging_vespalib/src/vespa/vespalib/util/rusage.cpp
+++ b/staging_vespalib/src/vespa/vespalib/util/rusage.cpp
@@ -33,20 +33,20 @@ RUsage::RUsage() :
RUsage
RUsage::createSelf()
{
- return createSelf(fastos::SteadyTimeStamp());
+ return createSelf(vespalib::steady_time());
}
RUsage
RUsage::createChildren()
{
- return createChildren(fastos::SteadyTimeStamp());
+ return createChildren(vespalib::steady_time());
}
RUsage
-RUsage::createSelf(fastos::SteadyTimeStamp since)
+RUsage::createSelf(vespalib::steady_time since)
{
RUsage r;
- r._time = fastos::ClockSteady::now() - since;
+ r._time = vespalib::steady_clock::now() - since;
if (getrusage(RUSAGE_SELF, &r) != 0) {
throw std::runtime_error(vespalib::make_string("getrusage failed with errno = %d", errno).c_str());
}
@@ -54,10 +54,10 @@ RUsage::createSelf(fastos::SteadyTimeStamp since)
}
RUsage
-RUsage::createChildren(fastos::SteadyTimeStamp since)
+RUsage::createChildren(vespalib::steady_time since)
{
RUsage r;
- r._time = fastos::ClockSteady::now() - since;
+ r._time = vespalib::steady_clock::now() - since;
if (getrusage(RUSAGE_CHILDREN, &r) != 0) {
throw std::runtime_error(vespalib::make_string("getrusage failed with errno = %d", errno).c_str());
}
@@ -68,9 +68,9 @@ vespalib::string
RUsage::toString()
{
vespalib::string s;
- if (_time.sec() != 0.0) s += make_string("duration = %1.6f\n", _time.sec());
- if (fastos::TimeStamp(ru_utime).sec() != 0.0) s += make_string("user time = %1.6f\n", fastos::TimeStamp(ru_utime).sec());
- if (fastos::TimeStamp(ru_stime).sec() != 0.0) s += make_string("system time = %1.6f\n", fastos::TimeStamp(ru_stime).sec());
+ if (_time != duration::zero()) s += make_string("duration = %1.6f\n", vespalib::to_s(_time));
+ if (from_timeval(ru_utime) > duration::zero()) s += make_string("user time = %1.6f\n", to_s(from_timeval(ru_utime)));
+ if (from_timeval(ru_stime) > duration::zero()) s += make_string("system time = %1.6f\n", to_s(from_timeval(ru_stime)));
if (ru_maxrss != 0) s += make_string("ru_maxrss = %ld\n", ru_maxrss);
if (ru_ixrss != 0) s += make_string("ru_ixrss = %ld\n", ru_ixrss);
if (ru_idrss != 0) s += make_string("ru_idrss = %ld\n", ru_idrss);
diff --git a/staging_vespalib/src/vespa/vespalib/util/rusage.h b/staging_vespalib/src/vespa/vespalib/util/rusage.h
index 381d4d764e7..f2cea3ba0ab 100644
--- a/staging_vespalib/src/vespa/vespalib/util/rusage.h
+++ b/staging_vespalib/src/vespa/vespalib/util/rusage.h
@@ -2,7 +2,7 @@
#pragma once
#include <vespa/vespalib/stllike/string.h>
-#include <vespa/fastos/timestamp.h>
+#include <vespa/vespalib/util/time.h>
#include <sys/resource.h>
namespace vespalib {
@@ -17,19 +17,19 @@ public:
* Will create an RUsage and initialize member with RUSAGE_SELF
**/
static RUsage createSelf();
- static RUsage createSelf(fastos::SteadyTimeStamp since);
+ static RUsage createSelf(vespalib::steady_time since);
/**
* Will create an RUsage and initialize member with RUSAGE_CHILDREN
**/
static RUsage createChildren();
- static RUsage createChildren(fastos::SteadyTimeStamp since);
+ static RUsage createChildren(vespalib::steady_time since);
/**
* Will create an RUsage and initialize member with RUSAGE_CHILDREN
**/
vespalib::string toString();
RUsage & operator -= (const RUsage & rhs);
private:
- fastos::TimeStamp _time;
+ vespalib::duration _time;
};
RUsage operator -(const RUsage & a, const RUsage & b);
diff --git a/vespalib/src/tests/time/time_test.cpp b/vespalib/src/tests/time/time_test.cpp
index 667511f6a94..40542b6ca62 100644
--- a/vespalib/src/tests/time/time_test.cpp
+++ b/vespalib/src/tests/time/time_test.cpp
@@ -29,6 +29,16 @@ TEST(TimeTest, double_conversion_works_as_expected) {
EXPECT_EQ(10ms, from_s(0.010));
}
+TEST(TimeTest, timeval_conversion_works_as_expected) {
+ timeval tv1;
+ tv1.tv_sec = 7;
+ tv1.tv_usec = 342356;
+ EXPECT_EQ(from_timeval(tv1), 7342356us);
+ tv1.tv_sec = 7;
+ tv1.tv_usec = 1342356;
+ EXPECT_EQ(from_timeval(tv1), 8342356us);
+}
+
TEST(TimeTest, unit_counting_works_as_expected) {
auto d = 3ms + 5us + 7ns;
EXPECT_EQ(count_ns(d), 3005007);
diff --git a/vespalib/src/vespa/vespalib/util/time.h b/vespalib/src/vespa/vespalib/util/time.h
index 2f8ae0ae016..a3390114bb1 100644
--- a/vespalib/src/vespa/vespalib/util/time.h
+++ b/vespalib/src/vespa/vespalib/util/time.h
@@ -55,6 +55,10 @@ constexpr int64_t count_ns(duration d) {
return std::chrono::duration_cast<std::chrono::nanoseconds>(d).count();
}
+constexpr duration from_timeval(const timeval & tv) {
+ return duration(tv.tv_sec*1000000000L + tv.tv_usec*1000L);
+}
+
/**
* Simple utility class used to measure how much time has elapsed
* since it was constructed.