Merge "Drop DEV network stats to save RAM." into lmp-mr1-dev automerge: 49c1527

automerge: a5921b9

* commit 'a5921b9b79a1d95e8a41bd74998cab82b153cb0a':
  Drop DEV network stats to save RAM.
This commit is contained in:
Jeff Sharkey
2014-10-28 00:27:07 +00:00
committed by android-build-merger

View File

@@ -45,7 +45,6 @@ import static android.provider.Settings.Global.NETSTATS_DEV_PERSIST_BYTES;
import static android.provider.Settings.Global.NETSTATS_DEV_ROTATE_AGE; import static android.provider.Settings.Global.NETSTATS_DEV_ROTATE_AGE;
import static android.provider.Settings.Global.NETSTATS_GLOBAL_ALERT_BYTES; import static android.provider.Settings.Global.NETSTATS_GLOBAL_ALERT_BYTES;
import static android.provider.Settings.Global.NETSTATS_POLL_INTERVAL; import static android.provider.Settings.Global.NETSTATS_POLL_INTERVAL;
import static android.provider.Settings.Global.NETSTATS_REPORT_XT_OVER_DEV;
import static android.provider.Settings.Global.NETSTATS_SAMPLE_ENABLED; import static android.provider.Settings.Global.NETSTATS_SAMPLE_ENABLED;
import static android.provider.Settings.Global.NETSTATS_TIME_CACHE_MAX_AGE; import static android.provider.Settings.Global.NETSTATS_TIME_CACHE_MAX_AGE;
import static android.provider.Settings.Global.NETSTATS_UID_BUCKET_DURATION; import static android.provider.Settings.Global.NETSTATS_UID_BUCKET_DURATION;
@@ -184,7 +183,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
public long getPollInterval(); public long getPollInterval();
public long getTimeCacheMaxAge(); public long getTimeCacheMaxAge();
public boolean getSampleEnabled(); public boolean getSampleEnabled();
public boolean getReportXtOverDev();
public static class Config { public static class Config {
public final long bucketDuration; public final long bucketDuration;
@@ -229,8 +227,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
private NetworkStatsRecorder mUidRecorder; private NetworkStatsRecorder mUidRecorder;
private NetworkStatsRecorder mUidTagRecorder; private NetworkStatsRecorder mUidTagRecorder;
/** Cached {@link #mDevRecorder} stats. */
private NetworkStatsCollection mDevStatsCached;
/** Cached {@link #mXtRecorder} stats. */ /** Cached {@link #mXtRecorder} stats. */
private NetworkStatsCollection mXtStatsCached; private NetworkStatsCollection mXtStatsCached;
@@ -305,7 +301,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
// read historical network stats from disk, since policy service // read historical network stats from disk, since policy service
// might need them right away. // might need them right away.
mDevStatsCached = mDevRecorder.getOrLoadCompleteLocked();
mXtStatsCached = mXtRecorder.getOrLoadCompleteLocked(); mXtStatsCached = mXtRecorder.getOrLoadCompleteLocked();
// bootstrap initial stats to prevent double-counting later // bootstrap initial stats to prevent double-counting later
@@ -386,7 +381,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
mUidRecorder = null; mUidRecorder = null;
mUidTagRecorder = null; mUidTagRecorder = null;
mDevStatsCached = null;
mXtStatsCached = null; mXtStatsCached = null;
mSystemReady = false; mSystemReady = false;
@@ -523,48 +517,24 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
} }
/** /**
* Return network summary, splicing between {@link #mDevStatsCached} * Return network summary, splicing between DEV and XT stats when
* and {@link #mXtStatsCached} when appropriate. * appropriate.
*/ */
private NetworkStats internalGetSummaryForNetwork( private NetworkStats internalGetSummaryForNetwork(
NetworkTemplate template, long start, long end) { NetworkTemplate template, long start, long end) {
if (!mSettings.getReportXtOverDev()) { // We've been using pure XT stats long enough that we no longer need to
// shortcut when XT reporting disabled // splice DEV and XT together.
return mDevStatsCached.getSummary(template, start, end); return mXtStatsCached.getSummary(template, start, end);
}
// splice stats between DEV and XT, switching over from DEV to XT at
// first atomic bucket.
final long firstAtomicBucket = mXtStatsCached.getFirstAtomicBucketMillis();
final NetworkStats dev = mDevStatsCached.getSummary(
template, Math.min(start, firstAtomicBucket), Math.min(end, firstAtomicBucket));
final NetworkStats xt = mXtStatsCached.getSummary(
template, Math.max(start, firstAtomicBucket), Math.max(end, firstAtomicBucket));
xt.combineAllValues(dev);
return xt;
} }
/** /**
* Return network history, splicing between {@link #mDevStatsCached} * Return network history, splicing between DEV and XT stats when
* and {@link #mXtStatsCached} when appropriate. * appropriate.
*/ */
private NetworkStatsHistory internalGetHistoryForNetwork(NetworkTemplate template, int fields) { private NetworkStatsHistory internalGetHistoryForNetwork(NetworkTemplate template, int fields) {
if (!mSettings.getReportXtOverDev()) { // We've been using pure XT stats long enough that we no longer need to
// shortcut when XT reporting disabled // splice DEV and XT together.
return mDevStatsCached.getHistory(template, UID_ALL, SET_ALL, TAG_NONE, fields); return mXtStatsCached.getHistory(template, UID_ALL, SET_ALL, TAG_NONE, fields);
}
// splice stats between DEV and XT, switching over from DEV to XT at
// first atomic bucket.
final long firstAtomicBucket = mXtStatsCached.getFirstAtomicBucketMillis();
final NetworkStatsHistory dev = mDevStatsCached.getHistory(
template, UID_ALL, SET_ALL, TAG_NONE, fields, Long.MIN_VALUE, firstAtomicBucket);
final NetworkStatsHistory xt = mXtStatsCached.getHistory(
template, UID_ALL, SET_ALL, TAG_NONE, fields, firstAtomicBucket, Long.MAX_VALUE);
xt.recordEntireHistory(dev);
return xt;
} }
@Override @Override
@@ -1329,10 +1299,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
return getGlobalBoolean(NETSTATS_SAMPLE_ENABLED, true); return getGlobalBoolean(NETSTATS_SAMPLE_ENABLED, true);
} }
@Override @Override
public boolean getReportXtOverDev() {
return getGlobalBoolean(NETSTATS_REPORT_XT_OVER_DEV, true);
}
@Override
public Config getDevConfig() { public Config getDevConfig() {
return new Config(getGlobalLong(NETSTATS_DEV_BUCKET_DURATION, HOUR_IN_MILLIS), return new Config(getGlobalLong(NETSTATS_DEV_BUCKET_DURATION, HOUR_IN_MILLIS),
getGlobalLong(NETSTATS_DEV_ROTATE_AGE, 15 * DAY_IN_MILLIS), getGlobalLong(NETSTATS_DEV_ROTATE_AGE, 15 * DAY_IN_MILLIS),