Loading core/java/android/provider/Settings.java +0 −3 Original line number Diff line number Diff line Loading @@ -3017,7 +3017,6 @@ public final class Settings { MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_ENABLED); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_GLOBAL_ALERT_BYTES); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_POLL_INTERVAL); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_REPORT_XT_OVER_DEV); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_SAMPLE_ENABLED); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_TIME_CACHE_MAX_AGE); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_UID_BUCKET_DURATION); Loading Loading @@ -5462,8 +5461,6 @@ public final class Settings { public static final String NETSTATS_GLOBAL_ALERT_BYTES = "netstats_global_alert_bytes"; /** {@hide} */ public static final String NETSTATS_SAMPLE_ENABLED = "netstats_sample_enabled"; /** {@hide} */ public static final String NETSTATS_REPORT_XT_OVER_DEV = "netstats_report_xt_over_dev"; /** {@hide} */ public static final String NETSTATS_DEV_BUCKET_DURATION = "netstats_dev_bucket_duration"; Loading services/core/java/com/android/server/net/NetworkStatsService.java +10 −44 Original line number Diff line number Diff line Loading @@ -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_GLOBAL_ALERT_BYTES; 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_TIME_CACHE_MAX_AGE; import static android.provider.Settings.Global.NETSTATS_UID_BUCKET_DURATION; Loading Loading @@ -184,7 +183,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { public long getPollInterval(); public long getTimeCacheMaxAge(); public boolean getSampleEnabled(); public boolean getReportXtOverDev(); public static class Config { public final long bucketDuration; Loading Loading @@ -229,8 +227,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { private NetworkStatsRecorder mUidRecorder; private NetworkStatsRecorder mUidTagRecorder; /** Cached {@link #mDevRecorder} stats. */ private NetworkStatsCollection mDevStatsCached; /** Cached {@link #mXtRecorder} stats. */ private NetworkStatsCollection mXtStatsCached; Loading Loading @@ -305,7 +301,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { // read historical network stats from disk, since policy service // might need them right away. mDevStatsCached = mDevRecorder.getOrLoadCompleteLocked(); mXtStatsCached = mXtRecorder.getOrLoadCompleteLocked(); // bootstrap initial stats to prevent double-counting later Loading Loading @@ -386,7 +381,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { mUidRecorder = null; mUidTagRecorder = null; mDevStatsCached = null; mXtStatsCached = null; mSystemReady = false; Loading Loading @@ -523,48 +517,24 @@ public class NetworkStatsService extends INetworkStatsService.Stub { } /** * Return network summary, splicing between {@link #mDevStatsCached} * and {@link #mXtStatsCached} when appropriate. * Return network summary, splicing between DEV and XT stats when * appropriate. */ private NetworkStats internalGetSummaryForNetwork( NetworkTemplate template, long start, long end) { if (!mSettings.getReportXtOverDev()) { // shortcut when XT reporting disabled return mDevStatsCached.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; // We've been using pure XT stats long enough that we no longer need to // splice DEV and XT together. return mXtStatsCached.getSummary(template, start, end); } /** * Return network history, splicing between {@link #mDevStatsCached} * and {@link #mXtStatsCached} when appropriate. * Return network history, splicing between DEV and XT stats when * appropriate. */ private NetworkStatsHistory internalGetHistoryForNetwork(NetworkTemplate template, int fields) { if (!mSettings.getReportXtOverDev()) { // shortcut when XT reporting disabled return mDevStatsCached.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; // We've been using pure XT stats long enough that we no longer need to // splice DEV and XT together. return mXtStatsCached.getHistory(template, UID_ALL, SET_ALL, TAG_NONE, fields); } @Override Loading Loading @@ -1329,10 +1299,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { return getGlobalBoolean(NETSTATS_SAMPLE_ENABLED, true); } @Override public boolean getReportXtOverDev() { return getGlobalBoolean(NETSTATS_REPORT_XT_OVER_DEV, true); } @Override public Config getDevConfig() { return new Config(getGlobalLong(NETSTATS_DEV_BUCKET_DURATION, HOUR_IN_MILLIS), getGlobalLong(NETSTATS_DEV_ROTATE_AGE, 15 * DAY_IN_MILLIS), Loading Loading
core/java/android/provider/Settings.java +0 −3 Original line number Diff line number Diff line Loading @@ -3017,7 +3017,6 @@ public final class Settings { MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_ENABLED); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_GLOBAL_ALERT_BYTES); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_POLL_INTERVAL); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_REPORT_XT_OVER_DEV); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_SAMPLE_ENABLED); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_TIME_CACHE_MAX_AGE); MOVED_TO_GLOBAL.add(Settings.Global.NETSTATS_UID_BUCKET_DURATION); Loading Loading @@ -5462,8 +5461,6 @@ public final class Settings { public static final String NETSTATS_GLOBAL_ALERT_BYTES = "netstats_global_alert_bytes"; /** {@hide} */ public static final String NETSTATS_SAMPLE_ENABLED = "netstats_sample_enabled"; /** {@hide} */ public static final String NETSTATS_REPORT_XT_OVER_DEV = "netstats_report_xt_over_dev"; /** {@hide} */ public static final String NETSTATS_DEV_BUCKET_DURATION = "netstats_dev_bucket_duration"; Loading
services/core/java/com/android/server/net/NetworkStatsService.java +10 −44 Original line number Diff line number Diff line Loading @@ -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_GLOBAL_ALERT_BYTES; 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_TIME_CACHE_MAX_AGE; import static android.provider.Settings.Global.NETSTATS_UID_BUCKET_DURATION; Loading Loading @@ -184,7 +183,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { public long getPollInterval(); public long getTimeCacheMaxAge(); public boolean getSampleEnabled(); public boolean getReportXtOverDev(); public static class Config { public final long bucketDuration; Loading Loading @@ -229,8 +227,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { private NetworkStatsRecorder mUidRecorder; private NetworkStatsRecorder mUidTagRecorder; /** Cached {@link #mDevRecorder} stats. */ private NetworkStatsCollection mDevStatsCached; /** Cached {@link #mXtRecorder} stats. */ private NetworkStatsCollection mXtStatsCached; Loading Loading @@ -305,7 +301,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { // read historical network stats from disk, since policy service // might need them right away. mDevStatsCached = mDevRecorder.getOrLoadCompleteLocked(); mXtStatsCached = mXtRecorder.getOrLoadCompleteLocked(); // bootstrap initial stats to prevent double-counting later Loading Loading @@ -386,7 +381,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { mUidRecorder = null; mUidTagRecorder = null; mDevStatsCached = null; mXtStatsCached = null; mSystemReady = false; Loading Loading @@ -523,48 +517,24 @@ public class NetworkStatsService extends INetworkStatsService.Stub { } /** * Return network summary, splicing between {@link #mDevStatsCached} * and {@link #mXtStatsCached} when appropriate. * Return network summary, splicing between DEV and XT stats when * appropriate. */ private NetworkStats internalGetSummaryForNetwork( NetworkTemplate template, long start, long end) { if (!mSettings.getReportXtOverDev()) { // shortcut when XT reporting disabled return mDevStatsCached.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; // We've been using pure XT stats long enough that we no longer need to // splice DEV and XT together. return mXtStatsCached.getSummary(template, start, end); } /** * Return network history, splicing between {@link #mDevStatsCached} * and {@link #mXtStatsCached} when appropriate. * Return network history, splicing between DEV and XT stats when * appropriate. */ private NetworkStatsHistory internalGetHistoryForNetwork(NetworkTemplate template, int fields) { if (!mSettings.getReportXtOverDev()) { // shortcut when XT reporting disabled return mDevStatsCached.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; // We've been using pure XT stats long enough that we no longer need to // splice DEV and XT together. return mXtStatsCached.getHistory(template, UID_ALL, SET_ALL, TAG_NONE, fields); } @Override Loading Loading @@ -1329,10 +1299,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { return getGlobalBoolean(NETSTATS_SAMPLE_ENABLED, true); } @Override public boolean getReportXtOverDev() { return getGlobalBoolean(NETSTATS_REPORT_XT_OVER_DEV, true); } @Override public Config getDevConfig() { return new Config(getGlobalLong(NETSTATS_DEV_BUCKET_DURATION, HOUR_IN_MILLIS), getGlobalLong(NETSTATS_DEV_ROTATE_AGE, 15 * DAY_IN_MILLIS), Loading