summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2012-12-19 22:47:25 -0500
committerEliot Horowitz <eliot@10gen.com>2012-12-19 22:47:25 -0500
commita266c93faa2bea00141b743a7dcd4635aa2d0b15 (patch)
tree996a6280901d8967397fda0f804eb1c27820d9bf /src
parentc49f0d43433ea41d16d27916aa119cbbb615e730 (diff)
downloadmongo-a266c93faa2bea00141b743a7dcd4635aa2d0b15.tar.gz
SERVER-7646 - track how many docs TTL deletes
Diffstat (limited to 'src')
-rw-r--r--src/mongo/base/counter.h3
-rw-r--r--src/mongo/db/ttl.cpp18
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 {