summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Stadler <stadler@google.com>2012-05-04 14:46:00 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-05-04 14:46:00 -0700
commitc4be1b7e963413c110d8a6ee9fdd4fd7443fb2e0 (patch)
tree0ce0b1c730264eee33bdaff5d2c30423d4f8ddf1
parent2b20212e16afed91881dfb7483f3c59cf1d0ebc4 (diff)
parent09b45a3ad96379b4181d32f8391f63e9c57dc316 (diff)
downloadframeworks_base-c4be1b7e963413c110d8a6ee9fdd4fd7443fb2e0.zip
frameworks_base-c4be1b7e963413c110d8a6ee9fdd4fd7443fb2e0.tar.gz
frameworks_base-c4be1b7e963413c110d8a6ee9fdd4fd7443fb2e0.tar.bz2
Merge "Add System Tracing capability to Sync Manager" into jb-dev
-rw-r--r--core/java/android/content/AbstractThreadedSyncAdapter.java9
-rw-r--r--core/java/android/os/Trace.java1
2 files changed, 10 insertions, 0 deletions
diff --git a/core/java/android/content/AbstractThreadedSyncAdapter.java b/core/java/android/content/AbstractThreadedSyncAdapter.java
index 6bffed7..bafe67d 100644
--- a/core/java/android/content/AbstractThreadedSyncAdapter.java
+++ b/core/java/android/content/AbstractThreadedSyncAdapter.java
@@ -21,6 +21,7 @@ import android.os.Bundle;
import android.os.IBinder;
import android.os.Process;
import android.os.RemoteException;
+import android.os.Trace;
import java.util.HashMap;
import java.util.concurrent.atomic.AtomicInteger;
@@ -233,9 +234,15 @@ public abstract class AbstractThreadedSyncAdapter {
mThreadsKey = toSyncKey(account);
}
+ @Override
public void run() {
Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
+ // Trace this sync instance. Note, conceptually this should be in
+ // SyncStorageEngine.insertStartSyncEvent(), but the trace functions require unique
+ // threads in order to track overlapping operations, so we'll do it here for now.
+ Trace.traceBegin(Trace.TRACE_TAG_SYNC_MANAGER, mAuthority);
+
SyncResult syncResult = new SyncResult();
ContentProviderClient provider = null;
try {
@@ -250,6 +257,8 @@ public abstract class AbstractThreadedSyncAdapter {
syncResult.databaseError = true;
}
} finally {
+ Trace.traceEnd(Trace.TRACE_TAG_SYNC_MANAGER);
+
if (provider != null) {
provider.release();
}
diff --git a/core/java/android/os/Trace.java b/core/java/android/os/Trace.java
index 2a45506..05acd63 100644
--- a/core/java/android/os/Trace.java
+++ b/core/java/android/os/Trace.java
@@ -36,6 +36,7 @@ public final class Trace {
public static final long TRACE_TAG_WEBVIEW = 1L << 4;
public static final long TRACE_TAG_WINDOW_MANAGER = 1L << 5;
public static final long TRACE_TAG_ACTIVITY_MANAGER = 1L << 6;
+ public static final long TRACE_TAG_SYNC_MANAGER = 1L << 7;
private static final long sEnabledTags = nativeGetEnabledTags();