summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2012-05-30 15:29:36 -0700
committerDianne Hackborn <hackbod@google.com>2012-05-30 15:29:36 -0700
commitd9137ca87eba9fb1d6a49440691374c48bac0d50 (patch)
treeb595d1725010874c97b61c7d77bcce4f5767e9ee
parent3c144c3e69405000f5c7542f20890437a4fb4987 (diff)
downloadframeworks_base-d9137ca87eba9fb1d6a49440691374c48bac0d50.zip
frameworks_base-d9137ca87eba9fb1d6a49440691374c48bac0d50.tar.gz
frameworks_base-d9137ca87eba9fb1d6a49440691374c48bac0d50.tar.bz2
Add time stamp to content provider connection.
For help in tracking down memory use issues, seeing how long a connection has been held that is keeping other processes around. Let's call this for issue #6577613: Unbelievably sluggish nexus-S Change-Id: Ia3d016c5ed9d2155eea18ec884047e1e1d8a0ad5
-rw-r--r--services/java/com/android/server/am/ContentProviderConnection.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/services/java/com/android/server/am/ContentProviderConnection.java b/services/java/com/android/server/am/ContentProviderConnection.java
index 84f8f02..7f69b24 100644
--- a/services/java/com/android/server/am/ContentProviderConnection.java
+++ b/services/java/com/android/server/am/ContentProviderConnection.java
@@ -17,6 +17,8 @@
package com.android.server.am;
import android.os.Binder;
+import android.os.SystemClock;
+import android.util.TimeUtils;
/**
* Represents a link between a content provider and client.
@@ -24,6 +26,7 @@ import android.os.Binder;
public class ContentProviderConnection extends Binder {
public final ContentProviderRecord provider;
public final ProcessRecord client;
+ public final long createTime;
public int stableCount;
public int unstableCount;
// The client of this connection is currently waiting for the provider to appear.
@@ -39,6 +42,7 @@ public class ContentProviderConnection extends Binder {
public ContentProviderConnection(ContentProviderRecord _provider, ProcessRecord _client) {
provider = _provider;
client = _client;
+ createTime = SystemClock.elapsedRealtime();
}
public String toString() {
@@ -83,5 +87,8 @@ public class ContentProviderConnection extends Binder {
if (dead) {
sb.append(" DEAD");
}
+ long nowReal = SystemClock.elapsedRealtime();
+ sb.append(" ");
+ TimeUtils.formatDuration(nowReal-createTime, sb);
}
}