diff options
author | Eliot Horowitz <eliot@10gen.com> | 2012-12-19 22:47:25 -0500 |
---|---|---|
committer | Eliot Horowitz <eliot@10gen.com> | 2012-12-19 22:47:25 -0500 |
commit | a266c93faa2bea00141b743a7dcd4635aa2d0b15 (patch) | |
tree | 996a6280901d8967397fda0f804eb1c27820d9bf /src | |
parent | c49f0d43433ea41d16d27916aa119cbbb615e730 (diff) | |
download | mongo-a266c93faa2bea00141b743a7dcd4635aa2d0b15.tar.gz |
SERVER-7646 - track how many docs TTL deletes
Diffstat (limited to 'src')
-rw-r--r-- | src/mongo/base/counter.h | 3 | ||||
-rw-r--r-- | src/mongo/db/ttl.cpp | 18 |
2 files changed, 18 insertions, 3 deletions
diff --git a/src/mongo/base/counter.h b/src/mongo/base/counter.h index 91508c98f67..c1c69b0cdb6 100644 --- a/src/mongo/base/counter.h +++ b/src/mongo/base/counter.h @@ -19,13 +19,14 @@ #pragma once #include "mongo/platform/atomic_word.h" +#include "mongo/platform/cstdint.h" namespace mongo { class Counter64 { public: - void increment() { _counter.addAndFetch(1); } + void increment( uint64_t n = 1 ) { _counter.addAndFetch(n); } long long get() const { return _counter.load(); } diff --git a/src/mongo/db/ttl.cpp b/src/mongo/db/ttl.cpp index 76aa3165de3..5673a3e92d0 100644 --- a/src/mongo/db/ttl.cpp +++ b/src/mongo/db/ttl.cpp @@ -18,15 +18,26 @@ #include "pch.h" -#include "mongo/db/commands/fsync.h" #include "mongo/db/ttl.h" + +#include "mongo/base/counter.h" +#include "mongo/db/commands/fsync.h" +#include "mongo/db/commands/server_status.h" #include "mongo/db/databaseholder.h" #include "mongo/db/instance.h" #include "mongo/db/ops/delete.h" -#include "mongo/util/background.h" #include "mongo/db/replutil.h" +#include "mongo/util/background.h" namespace mongo { + + Counter64 ttlPasses; + Counter64 ttlDocDeletes; + + ServerStatusMetricField<Counter64> ttlPassesDisplay( "ttl.passes", false, &ttlPasses ); + ServerStatusMetricField<Counter64> ttlDocDeletesDisplay( "ttl.deletedDocuments", false, &ttlDocDeletes ); + + class TTLMonitor : public BackgroundJob { public: @@ -94,6 +105,7 @@ namespace mongo { } n = deleteObjects( ns.c_str() , query , false , true ); + ttlDocDeletes.increment( n ); } LOG(1) << "\tTTL deleted: " << n << endl; @@ -127,6 +139,8 @@ namespace mongo { dbHolder().getAllShortNames( dbs ); } + ttlPasses.increment(); + for ( set<string>::const_iterator i=dbs.begin(); i!=dbs.end(); ++i ) { string db = *i; try { |