locking: Update locks latency in CTDB statistics only for RECORD or DB locks
authorAmitay Isaacs <amitay@gmail.com>
Wed, 3 Jul 2013 01:46:53 +0000 (11:46 +1000)
committerAmitay Isaacs <amitay@gmail.com>
Wed, 10 Jul 2013 04:33:18 +0000 (14:33 +1000)
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit dcc42a75b4638b3aa40c44ed9e0aaae26483e2b0)

ctdb/server/ctdb_lock.c

index d699e85b181dd56aab1f691707fab38f824d902c..ca2093a3daf5fe00cc511a53c1b50f9cf6de003b 100644 (file)
@@ -456,9 +456,13 @@ static void ctdb_lock_handler(struct tevent_context *ev,
        }
 
        if (locked) {
-               CTDB_INCREMENT_STAT(lock_ctx->ctdb, locks.num_current);
-               CTDB_INCREMENT_STAT(lock_ctx->ctdb, locks.buckets[id]);
                if (lock_ctx->ctdb_db) {
+                       CTDB_INCREMENT_STAT(lock_ctx->ctdb, locks.num_current);
+                       CTDB_INCREMENT_STAT(lock_ctx->ctdb, locks.buckets[id]);
+                       CTDB_UPDATE_LATENCY(lock_ctx->ctdb, lock_ctx->ctdb_db,
+                                           lock_type_str[lock_ctx->type], locks.latency,
+                                           lock_ctx->start_time);
+
                        CTDB_INCREMENT_DB_STAT(lock_ctx->ctdb_db, locks.num_current);
                        CTDB_UPDATE_DB_LATENCY(lock_ctx->ctdb_db, lock_type_str[lock_ctx->type], locks.latency, t);
                        CTDB_INCREMENT_DB_STAT(lock_ctx->ctdb_db, locks.buckets[id]);