You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by ma...@apache.org on 2014/09/22 21:31:36 UTC

git commit: Adding timing stats to DB stores.

Repository: incubator-aurora
Updated Branches:
  refs/heads/master 2b2c9910a -> db88bd413


Adding timing stats to DB stores.

Reviewed at https://reviews.apache.org/r/25897/


Project: http://git-wip-us.apache.org/repos/asf/incubator-aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-aurora/commit/db88bd41
Tree: http://git-wip-us.apache.org/repos/asf/incubator-aurora/tree/db88bd41
Diff: http://git-wip-us.apache.org/repos/asf/incubator-aurora/diff/db88bd41

Branch: refs/heads/master
Commit: db88bd4138d3b5f183501f35f3501131c9709cd4
Parents: 2b2c991
Author: Maxim Khutornenko <ma...@apache.org>
Authored: Mon Sep 22 12:31:27 2014 -0700
Committer: Maxim Khutornenko <ma...@apache.org>
Committed: Mon Sep 22 12:31:27 2014 -0700

----------------------------------------------------------------------
 .../scheduler/storage/db/DBJobUpdateStore.java  | 12 +++++++++
 .../scheduler/storage/db/DbLockStore.java       | 27 ++++++++++++--------
 .../scheduler/storage/db/DbQuotaStore.java      |  7 +++++
 .../scheduler/storage/db/DbSchedulerStore.java  |  4 +++
 4 files changed, 40 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/db88bd41/src/main/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStore.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStore.java b/src/main/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStore.java
index 4db336c..361d3b8 100644
--- a/src/main/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStore.java
+++ b/src/main/java/org/apache/aurora/scheduler/storage/db/DBJobUpdateStore.java
@@ -38,6 +38,8 @@ import org.apache.aurora.scheduler.storage.entities.IRange;
 
 import static java.util.Objects.requireNonNull;
 
+import static com.twitter.common.inject.TimedInterceptor.Timed;
+
 /**
  * A relational database-backed job update store.
  */
@@ -61,6 +63,7 @@ public class DBJobUpdateStore implements JobUpdateStore.Mutable {
     this.instanceEventMapper = requireNonNull(instanceEventMapper);
   }
 
+  @Timed("job_update_store_save_update")
   @Override
   public void saveJobUpdate(IJobUpdate update, Optional<String> lockToken) {
     requireNonNull(update);
@@ -102,26 +105,31 @@ public class DBJobUpdateStore implements JobUpdateStore.Mutable {
     }
   }
 
+  @Timed("job_update_store_save_event")
   @Override
   public void saveJobUpdateEvent(IJobUpdateEvent event, String updateId) {
     jobEventMapper.insert(updateId, event.newBuilder());
   }
 
+  @Timed("job_update_store_save_instance_event")
   @Override
   public void saveJobInstanceUpdateEvent(IJobInstanceUpdateEvent event, String updateId) {
     instanceEventMapper.insert(event.newBuilder(), updateId);
   }
 
+  @Timed("job_update_store_delete_all")
   @Override
   public void deleteAllUpdatesAndEvents() {
     detailsMapper.truncate();
   }
 
+  @Timed("job_update_store_fetch_summaries")
   @Override
   public List<IJobUpdateSummary> fetchJobUpdateSummaries(IJobUpdateQuery query) {
     return IJobUpdateSummary.listFromBuilders(detailsMapper.selectSummaries(query.newBuilder()));
   }
 
+  @Timed("job_update_store_fetch_details")
   @Override
   public Optional<IJobUpdateDetails> fetchJobUpdateDetails(final String updateId) {
     return Optional.fromNullable(detailsMapper.selectDetails(updateId))
@@ -133,6 +141,7 @@ public class DBJobUpdateStore implements JobUpdateStore.Mutable {
         });
   }
 
+  @Timed("job_update_store_fetch_update")
   @Override
   public Optional<IJobUpdate> fetchJobUpdate(String updateId) {
     return Optional.fromNullable(detailsMapper.selectUpdate(updateId))
@@ -144,6 +153,7 @@ public class DBJobUpdateStore implements JobUpdateStore.Mutable {
         });
   }
 
+  @Timed("job_update_store_fetch_instructions")
   @Override
   public Optional<IJobUpdateInstructions> fetchJobUpdateInstructions(String updateId) {
     return Optional.fromNullable(detailsMapper.selectInstructions(updateId))
@@ -155,11 +165,13 @@ public class DBJobUpdateStore implements JobUpdateStore.Mutable {
         });
   }
 
+  @Timed("job_update_store_fetch_all_details")
   @Override
   public Set<StoredJobUpdateDetails> fetchAllJobUpdateDetails() {
     return ImmutableSet.copyOf(detailsMapper.selectAllDetails());
   }
 
+  @Timed("job_update_store_get_lock_token")
   @Override
   public Optional<String> getLockToken(String updateId) {
     // We assume here that cascading deletes will cause a lock-update associative row to disappear

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/db88bd41/src/main/java/org/apache/aurora/scheduler/storage/db/DbLockStore.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/storage/db/DbLockStore.java b/src/main/java/org/apache/aurora/scheduler/storage/db/DbLockStore.java
index 4b4f127..335d7a9 100644
--- a/src/main/java/org/apache/aurora/scheduler/storage/db/DbLockStore.java
+++ b/src/main/java/org/apache/aurora/scheduler/storage/db/DbLockStore.java
@@ -27,6 +27,8 @@ import org.apache.aurora.scheduler.storage.entities.ILockKey;
 
 import static java.util.Objects.requireNonNull;
 
+import static com.twitter.common.inject.TimedInterceptor.Timed;
+
 /**
  * A relational database-backed lock store.
  */
@@ -41,39 +43,44 @@ class DbLockStore implements LockStore.Mutable {
     this.lockKeyMapper = requireNonNull(lockKeyMapper);
   }
 
+  @Timed("lock_store_save_lock")
   @Override
   public void saveLock(ILock lock) {
     lockKeyMapper.insert(lock.getKey().newBuilder());
     mapper.insert(lock.newBuilder());
   }
 
+  @Timed("lock_store_remove_lock")
   @Override
   public void removeLock(ILockKey lockKey) {
     mapper.delete(lockKey.newBuilder());
   }
 
+  @Timed("lock_store_delete_locks")
   @Override
   public void deleteLocks() {
     mapper.truncate();
   }
 
-  /**
-   * LockRow converter to satisfy the ILock interface.
-   */
-  private static final Function<LockRow, ILock> TO_ROW = new Function<LockRow, ILock>() {
-    @Override
-    public ILock apply(LockRow input) {
-      return ILock.build(input.getLock());
-    }
-  };
-
+  @Timed("lock_store_fetch_locks")
   @Override
   public Set<ILock> fetchLocks() {
     return FluentIterable.from(mapper.selectAll()).transform(TO_ROW).toSet();
   }
 
+  @Timed("lock_store_fetch_lock")
   @Override
   public Optional<ILock> fetchLock(ILockKey lockKey) {
     return Optional.fromNullable(mapper.select(lockKey.newBuilder())).transform(TO_ROW);
   }
+
+  /**
+   * LockRow converter to satisfy the ILock interface.
+   */
+  private static final Function<LockRow, ILock> TO_ROW = new Function<LockRow, ILock>() {
+    @Override
+    public ILock apply(LockRow input) {
+      return ILock.build(input.getLock());
+    }
+  };
 }

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/db88bd41/src/main/java/org/apache/aurora/scheduler/storage/db/DbQuotaStore.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/storage/db/DbQuotaStore.java b/src/main/java/org/apache/aurora/scheduler/storage/db/DbQuotaStore.java
index 412b3e7..9371907 100644
--- a/src/main/java/org/apache/aurora/scheduler/storage/db/DbQuotaStore.java
+++ b/src/main/java/org/apache/aurora/scheduler/storage/db/DbQuotaStore.java
@@ -25,6 +25,8 @@ import org.apache.aurora.scheduler.storage.entities.IResourceAggregate;
 
 import static java.util.Objects.requireNonNull;
 
+import static com.twitter.common.inject.TimedInterceptor.Timed;
+
 /**
  * Quota store backed by a relational database.
  */
@@ -37,12 +39,14 @@ class DbQuotaStore implements QuotaStore.Mutable {
     this.mapper = requireNonNull(mapper);
   }
 
+  @Timed("quota_store_fetch_quota")
   @Override
   public Optional<IResourceAggregate> fetchQuota(String role) {
     return Optional.fromNullable(mapper.select(role))
         .transform(IResourceAggregate.FROM_BUILDER);
   }
 
+  @Timed("quota_store_fetch_quotas")
   @Override
   public Map<String, IResourceAggregate> fetchQuotas() {
     ImmutableMap.Builder<String, IResourceAggregate> results = ImmutableMap.builder();
@@ -52,16 +56,19 @@ class DbQuotaStore implements QuotaStore.Mutable {
     return results.build();
   }
 
+  @Timed("quota_store_delete_quotas")
   @Override
   public void deleteQuotas() {
     mapper.truncate();
   }
 
+  @Timed("quota_store_remove_quota")
   @Override
   public void removeQuota(String role) {
     mapper.delete(role);
   }
 
+  @Timed("quota_store_save_quota")
   @Override
   public void saveQuota(String role, IResourceAggregate quota) {
     mapper.merge(role, quota.newBuilder());

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/db88bd41/src/main/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStore.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStore.java b/src/main/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStore.java
index fc7913e..d7696cd 100644
--- a/src/main/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStore.java
+++ b/src/main/java/org/apache/aurora/scheduler/storage/db/DbSchedulerStore.java
@@ -20,6 +20,8 @@ import com.google.inject.Inject;
 
 import org.apache.aurora.scheduler.storage.SchedulerStore;
 
+import static com.twitter.common.inject.TimedInterceptor.Timed;
+
 /**
  * A relational database-backed scheduler store.
  */
@@ -32,11 +34,13 @@ class DbSchedulerStore implements SchedulerStore.Mutable {
     this.mapper = Objects.requireNonNull(mapper);
   }
 
+  @Timed("scheduler_store_save_framework_id")
   @Override
   public void saveFrameworkId(String frameworkId) {
     mapper.insert(Objects.requireNonNull(frameworkId));
   }
 
+  @Timed("scheduler_store_fetch_framework_id")
   @Override
   public Optional<String> fetchFrameworkId() {
     return Optional.fromNullable(mapper.select());