You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by dm...@apache.org on 2016/12/15 18:09:48 UTC
aurora git commit: Add finer grained timings to the Snapshot process.
I also added some log output,
as I found those existing numbers handy when investigating our long snapshot
times.
Repository: aurora
Updated Branches:
refs/heads/master 220e23b6e -> 8e37d0f18
Add finer grained timings to the Snapshot process. I also added some log output, as I found those existing numbers handy when investigating our long snapshot times.
Related ticket: https://issues.apache.org/jira/browse/AURORA-1861
Reviewed at https://reviews.apache.org/r/54773/
Project: http://git-wip-us.apache.org/repos/asf/aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/8e37d0f1
Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/8e37d0f1
Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/8e37d0f1
Branch: refs/heads/master
Commit: 8e37d0f181b7a1a4b3fd8c0ca11f6405991ce560
Parents: 220e23b
Author: David McLaughlin <da...@dmclaughlin.com>
Authored: Thu Dec 15 10:08:54 2016 -0800
Committer: David McLaughlin <dm...@twitter.com>
Committed: Thu Dec 15 10:08:54 2016 -0800
----------------------------------------------------------------------
.../aurora/scheduler/storage/log/LogStorage.java | 3 ++-
.../scheduler/storage/log/SnapshotStoreImpl.java | 14 ++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aurora/blob/8e37d0f1/src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java b/src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java
index 39924c6..9c9218c 100644
--- a/src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java
+++ b/src/main/java/org/apache/aurora/scheduler/storage/log/LogStorage.java
@@ -495,7 +495,8 @@ public class LogStorage implements NonVolatileStorage, DistributedSnapshotStore
+ ", cron jobs: " + snapshot.getCronJobsSize()
+ ", locks: " + snapshot.getLocksSize()
+ ", quota confs: " + snapshot.getQuotaConfigurationsSize()
- + ", tasks: " + snapshot.getTasksSize());
+ + ", tasks: " + snapshot.getTasksSize()
+ + ", updates: " + snapshot.getJobUpdateDetailsSize());
});
}
http://git-wip-us.apache.org/repos/asf/aurora/blob/8e37d0f1/src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java b/src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java
index d2c8590..853780b 100644
--- a/src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java
+++ b/src/main/java/org/apache/aurora/scheduler/storage/log/SnapshotStoreImpl.java
@@ -105,6 +105,7 @@ public class SnapshotStoreImpl implements SnapshotStore<Snapshot> {
// moment a new snapshot is created
new SnapshotField() {
@Override
+ @Timed("snapshot_save_db")
public void saveToSnapshot(MutableStoreProvider store, Snapshot snapshot) {
LOG.info("Saving dbsnapshot");
// Note: we don't use mybatis mapped statements for performance reasons and to avoid
@@ -126,6 +127,7 @@ public class SnapshotStoreImpl implements SnapshotStore<Snapshot> {
}
@Override
+ @Timed("snapshot_restore_db")
public void restoreFromSnapshot(MutableStoreProvider store, Snapshot snapshot) {
if (snapshot.isSetDbScript()) {
try (Connection c = ((DataSource) store.getUnsafeStoreAccess()).getConnection()) {
@@ -159,11 +161,13 @@ public class SnapshotStoreImpl implements SnapshotStore<Snapshot> {
// It's important for locks to be replayed first, since there are relations that expect
// references to be valid on insertion.
@Override
+ @Timed("snapshot_save_lock_store")
public void saveToSnapshot(MutableStoreProvider store, Snapshot snapshot) {
snapshot.setLocks(ILock.toBuildersSet(store.getLockStore().fetchLocks()));
}
@Override
+ @Timed("snapshot_restore_lock_store")
public void restoreFromSnapshot(MutableStoreProvider store, Snapshot snapshot) {
if (hasDbSnapshot(snapshot)) {
LOG.info("Deferring lock restore to dbsnapshot");
@@ -181,12 +185,14 @@ public class SnapshotStoreImpl implements SnapshotStore<Snapshot> {
},
new SnapshotField() {
@Override
+ @Timed("snapshot_save_host_attributes")
public void saveToSnapshot(MutableStoreProvider store, Snapshot snapshot) {
snapshot.setHostAttributes(
IHostAttributes.toBuildersSet(store.getAttributeStore().getHostAttributes()));
}
@Override
+ @Timed("snapshot_restore_host_attributes")
public void restoreFromSnapshot(MutableStoreProvider store, Snapshot snapshot) {
if (hasDbSnapshot(snapshot)) {
LOG.info("Deferring attribute restore to dbsnapshot");
@@ -204,6 +210,7 @@ public class SnapshotStoreImpl implements SnapshotStore<Snapshot> {
},
new SnapshotField() {
@Override
+ @Timed("snapshot_save_task_store")
public void saveToSnapshot(MutableStoreProvider store, Snapshot snapshot) {
snapshot.setTasks(
IScheduledTask.toBuildersSet(store.getTaskStore().fetchTasks(Query.unscoped())));
@@ -211,6 +218,7 @@ public class SnapshotStoreImpl implements SnapshotStore<Snapshot> {
}
@Override
+ @Timed("snapshot_restore_task_store")
public void restoreFromSnapshot(MutableStoreProvider store, Snapshot snapshot) {
if (hasDbTaskStore(snapshot)) {
LOG.info("Deferring task restore to dbsnapshot");
@@ -227,6 +235,7 @@ public class SnapshotStoreImpl implements SnapshotStore<Snapshot> {
},
new SnapshotField() {
@Override
+ @Timed("snapshot_save_cron_store")
public void saveToSnapshot(MutableStoreProvider store, Snapshot snapshot) {
ImmutableSet.Builder<StoredCronJob> jobs = ImmutableSet.builder();
@@ -238,6 +247,7 @@ public class SnapshotStoreImpl implements SnapshotStore<Snapshot> {
}
@Override
+ @Timed("snapshot_restore_cron_store")
public void restoreFromSnapshot(MutableStoreProvider store, Snapshot snapshot) {
if (hasDbTaskStore(snapshot)) {
LOG.info("Deferring cron job restore to dbsnapshot");
@@ -278,6 +288,7 @@ public class SnapshotStoreImpl implements SnapshotStore<Snapshot> {
},
new SnapshotField() {
@Override
+ @Timed("snapshot_save_quota_store")
public void saveToSnapshot(MutableStoreProvider store, Snapshot snapshot) {
ImmutableSet.Builder<QuotaConfiguration> quotas = ImmutableSet.builder();
for (Map.Entry<String, IResourceAggregate> entry
@@ -290,6 +301,7 @@ public class SnapshotStoreImpl implements SnapshotStore<Snapshot> {
}
@Override
+ @Timed("snapshot_restore_quota_store")
public void restoreFromSnapshot(MutableStoreProvider store, Snapshot snapshot) {
if (hasDbSnapshot(snapshot)) {
LOG.info("Deferring quota restore to dbsnapshot");
@@ -308,11 +320,13 @@ public class SnapshotStoreImpl implements SnapshotStore<Snapshot> {
},
new SnapshotField() {
@Override
+ @Timed("snapshot_save_update_store")
public void saveToSnapshot(MutableStoreProvider store, Snapshot snapshot) {
snapshot.setJobUpdateDetails(store.getJobUpdateStore().fetchAllJobUpdateDetails());
}
@Override
+ @Timed("snapshot_restore_update_store")
public void restoreFromSnapshot(MutableStoreProvider store, Snapshot snapshot) {
if (hasDbSnapshot(snapshot)) {
LOG.info("Deferring job update restore to dbsnapshot");