Merge "Update dumpsys output"
This commit is contained in:
@@ -1301,7 +1301,7 @@ public class SyncManager implements OnAccountsUpdateListener {
|
|||||||
|
|
||||||
elapsedTime = authoritySyncStats.elapsedTime;
|
elapsedTime = authoritySyncStats.elapsedTime;
|
||||||
times = authoritySyncStats.times;
|
times = authoritySyncStats.times;
|
||||||
timeStr = String.format("%d/%d%%",
|
timeStr = String.format("%ds/%d%%",
|
||||||
elapsedTime / 1000,
|
elapsedTime / 1000,
|
||||||
elapsedTime * 100 / totalElapsedTime);
|
elapsedTime * 100 / totalElapsedTime);
|
||||||
timesStr = String.format("%d/%d%%",
|
timesStr = String.format("%d/%d%%",
|
||||||
@@ -1309,32 +1309,30 @@ public class SyncManager implements OnAccountsUpdateListener {
|
|||||||
times * 100 / totalTimes);
|
times * 100 / totalTimes);
|
||||||
pw.printf(authorityFormat, name, timesStr, timeStr);
|
pw.printf(authorityFormat, name, timesStr, timeStr);
|
||||||
|
|
||||||
if (authoritySyncStats.accountMap.size() > 1) {
|
final List<AccountSyncStats> sortedAccounts =
|
||||||
final List<AccountSyncStats> sortedAccounts =
|
new ArrayList<AccountSyncStats>(
|
||||||
new ArrayList<AccountSyncStats>(
|
authoritySyncStats.accountMap.values());
|
||||||
authoritySyncStats.accountMap.values());
|
Collections.sort(sortedAccounts, new Comparator<AccountSyncStats>() {
|
||||||
Collections.sort(sortedAccounts, new Comparator<AccountSyncStats>() {
|
@Override
|
||||||
@Override
|
public int compare(AccountSyncStats lhs, AccountSyncStats rhs) {
|
||||||
public int compare(AccountSyncStats lhs, AccountSyncStats rhs) {
|
// reverse order
|
||||||
// reverse order
|
int compare = Integer.compare(rhs.times, lhs.times);
|
||||||
int compare = Integer.compare(rhs.times, lhs.times);
|
if (compare == 0) {
|
||||||
if (compare == 0) {
|
compare = Long.compare(rhs.elapsedTime, lhs.elapsedTime);
|
||||||
compare = Long.compare(rhs.elapsedTime, lhs.elapsedTime);
|
|
||||||
}
|
|
||||||
return compare;
|
|
||||||
}
|
}
|
||||||
});
|
return compare;
|
||||||
for (AccountSyncStats stats: sortedAccounts) {
|
|
||||||
elapsedTime = stats.elapsedTime;
|
|
||||||
times = stats.times;
|
|
||||||
timeStr = String.format("%d/%d%%",
|
|
||||||
elapsedTime / 1000,
|
|
||||||
elapsedTime * 100 / totalElapsedTime);
|
|
||||||
timesStr = String.format("%d/%d%%",
|
|
||||||
times,
|
|
||||||
times * 100 / totalTimes);
|
|
||||||
pw.printf(accountFormat, stats.name, timesStr, timeStr);
|
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
for (AccountSyncStats stats: sortedAccounts) {
|
||||||
|
elapsedTime = stats.elapsedTime;
|
||||||
|
times = stats.times;
|
||||||
|
timeStr = String.format("%ds/%d%%",
|
||||||
|
elapsedTime / 1000,
|
||||||
|
elapsedTime * 100 / totalElapsedTime);
|
||||||
|
timesStr = String.format("%d/%d%%",
|
||||||
|
times,
|
||||||
|
times * 100 / totalTimes);
|
||||||
|
pw.printf(accountFormat, stats.name, timesStr, timeStr);
|
||||||
}
|
}
|
||||||
pw.println(separator);
|
pw.println(separator);
|
||||||
}
|
}
|
||||||
@@ -1342,9 +1340,8 @@ public class SyncManager implements OnAccountsUpdateListener {
|
|||||||
pw.println();
|
pw.println();
|
||||||
pw.println("Recent Sync History");
|
pw.println("Recent Sync History");
|
||||||
final String format = " %-" + maxAccount + "s %s\n";
|
final String format = " %-" + maxAccount + "s %s\n";
|
||||||
String lastAuthorityName = null;
|
final Map<String, Long> lastTimeMap = Maps.newHashMap();
|
||||||
String lastAccountKey = null;
|
|
||||||
long lastEventTime = 0;
|
|
||||||
for (int i = 0; i < N; i++) {
|
for (int i = 0; i < N; i++) {
|
||||||
SyncStorageEngine.SyncHistoryItem item = items.get(i);
|
SyncStorageEngine.SyncHistoryItem item = items.get(i);
|
||||||
SyncStorageEngine.AuthorityInfo authority
|
SyncStorageEngine.AuthorityInfo authority
|
||||||
@@ -1363,21 +1360,32 @@ public class SyncManager implements OnAccountsUpdateListener {
|
|||||||
final long eventTime = item.eventTime;
|
final long eventTime = item.eventTime;
|
||||||
time.set(eventTime);
|
time.set(eventTime);
|
||||||
|
|
||||||
pw.printf(" #%-3d: %s %8s %5.1fs",
|
final String key = authorityName + "/" + accountKey;
|
||||||
|
final Long lastEventTime = lastTimeMap.get(key);
|
||||||
|
final String diffString;
|
||||||
|
if (lastEventTime == null) {
|
||||||
|
diffString = "";
|
||||||
|
} else {
|
||||||
|
final long diff = (lastEventTime - eventTime) / 1000;
|
||||||
|
if (diff < 60) {
|
||||||
|
diffString = String.valueOf(diff);
|
||||||
|
} else if (diff < 3600) {
|
||||||
|
diffString = String.format("%02d:%02d", diff / 60, diff % 60);
|
||||||
|
} else {
|
||||||
|
final long sec = diff % 3600;
|
||||||
|
diffString = String.format("%02d:%02d:%02d",
|
||||||
|
diff / 3600, sec / 60, sec % 60);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
lastTimeMap.put(key, eventTime);
|
||||||
|
|
||||||
|
pw.printf(" #%-3d: %s %8s %5.1fs %8s",
|
||||||
i + 1,
|
i + 1,
|
||||||
formatTime(eventTime),
|
formatTime(eventTime),
|
||||||
SyncStorageEngine.SOURCES[item.source],
|
SyncStorageEngine.SOURCES[item.source],
|
||||||
((float) elapsedTime) / 1000);
|
((float) elapsedTime) / 1000,
|
||||||
if (authorityName.equals(lastAuthorityName) && accountKey.equals(lastAccountKey)) {
|
diffString);
|
||||||
final long span = (lastEventTime - eventTime) / 1000;
|
pw.printf(format, accountKey, authorityName);
|
||||||
pw.printf(" %02d:%02d\n", span / 60, span % 60);
|
|
||||||
} else {
|
|
||||||
pw.printf(format, accountKey, authorityName);
|
|
||||||
}
|
|
||||||
|
|
||||||
lastAuthorityName = authorityName;
|
|
||||||
lastAccountKey = accountKey;
|
|
||||||
lastEventTime = eventTime;
|
|
||||||
|
|
||||||
if (item.event != SyncStorageEngine.EVENT_STOP
|
if (item.event != SyncStorageEngine.EVENT_STOP
|
||||||
|| item.upstreamActivity != 0
|
|| item.upstreamActivity != 0
|
||||||
|
|||||||
Reference in New Issue
Block a user