Loading core/java/android/net/NetworkStats.java +7 −2 Original line number Diff line number Diff line Loading @@ -466,7 +466,7 @@ public class NetworkStats implements Parcelable { public NetworkStats subtract(NetworkStats value) throws NonMonotonicException { final long deltaRealtime = this.elapsedRealtime - value.elapsedRealtime; if (deltaRealtime < 0) { throw new IllegalArgumentException("found non-monotonic realtime"); throw new NonMonotonicException(this, value); } // result will have our rows, and elapsed time between snapshots Loading Loading @@ -586,6 +586,7 @@ public class NetworkStats implements Parcelable { pw.print("NetworkStats: elapsedRealtime="); pw.println(elapsedRealtime); for (int i = 0; i < size; i++) { pw.print(prefix); pw.print(" ["); pw.print(i); pw.print("]"); pw.print(" iface="); pw.print(iface[i]); pw.print(" uid="); pw.print(uid[i]); pw.print(" set="); pw.print(setToString(set[i])); Loading Loading @@ -649,6 +650,10 @@ public class NetworkStats implements Parcelable { public final int leftIndex; public final int rightIndex; public NonMonotonicException(NetworkStats left, NetworkStats right) { this(left, -1, right, -1); } public NonMonotonicException( NetworkStats left, int leftIndex, NetworkStats right, int rightIndex) { this.left = checkNotNull(left, "missing left"); Loading services/java/com/android/server/net/NetworkStatsService.java +11 −15 Original line number Diff line number Diff line Loading @@ -152,10 +152,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { private static final String TAG_NETSTATS_ERROR = "netstats_error"; private static final String DEV = "dev"; private static final String XT = "xt"; private static final String UID = "uid"; private final Context mContext; private final INetworkManagementService mNetworkManager; private final IAlarmManager mAlarmManager; Loading Loading @@ -278,6 +274,9 @@ public class NetworkStatsService extends INetworkStatsService.Stub { readNetworkXtStatsLocked(); } // bootstrap initial stats to prevent double-counting later bootstrapStats(); // watch for network interfaces to be claimed final IntentFilter connFilter = new IntentFilter(CONNECTIVITY_ACTION_IMMEDIATE); mContext.registerReceiver(mConnReceiver, connFilter, CONNECTIVITY_INTERNAL, mHandler); Loading Loading @@ -311,9 +310,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { registerPollAlarmLocked(); registerGlobalAlert(); // bootstrap initial stats to prevent double-counting later bootstrapStats(); mDropBox = (DropBoxManager) mContext.getSystemService(Context.DROPBOX_SERVICE); } Loading Loading @@ -837,9 +833,9 @@ public class NetworkStatsService extends INetworkStatsService.Stub { // persist when enough network data has occurred final long persistNetworkDevDelta = computeStatsDelta( mLastPersistNetworkDevSnapshot, networkDevSnapshot, true, DEV).getTotalBytes(); mLastPersistNetworkDevSnapshot, networkDevSnapshot, true, "devp").getTotalBytes(); final long persistNetworkXtDelta = computeStatsDelta( mLastPersistNetworkXtSnapshot, networkXtSnapshot, true, XT).getTotalBytes(); mLastPersistNetworkXtSnapshot, networkXtSnapshot, true, "xtp").getTotalBytes(); final boolean networkOverThreshold = persistNetworkDevDelta > threshold || persistNetworkXtDelta > threshold; if (persistForce || (persistNetwork && networkOverThreshold)) { Loading @@ -851,7 +847,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { // persist when enough uid data has occurred final long persistUidDelta = computeStatsDelta( mLastPersistUidSnapshot, uidSnapshot, true, UID).getTotalBytes(); mLastPersistUidSnapshot, uidSnapshot, true, "uidp").getTotalBytes(); if (persistForce || (persistUid && persistUidDelta > threshold)) { writeUidStatsLocked(); mLastPersistUidSnapshot = uidSnapshot; Loading Loading @@ -880,7 +876,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { final HashSet<String> unknownIface = Sets.newHashSet(); final NetworkStats delta = computeStatsDelta( mLastPollNetworkDevSnapshot, networkDevSnapshot, false, DEV); mLastPollNetworkDevSnapshot, networkDevSnapshot, false, "dev"); final long timeStart = currentTime - delta.getElapsedRealtime(); NetworkStats.Entry entry = null; Loading Loading @@ -910,7 +906,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { final HashSet<String> unknownIface = Sets.newHashSet(); final NetworkStats delta = computeStatsDelta( mLastPollNetworkXtSnapshot, networkXtSnapshot, false, XT); mLastPollNetworkXtSnapshot, networkXtSnapshot, false, "xt"); final long timeStart = currentTime - delta.getElapsedRealtime(); NetworkStats.Entry entry = null; Loading Loading @@ -940,9 +936,9 @@ public class NetworkStatsService extends INetworkStatsService.Stub { ensureUidStatsLoadedLocked(); final NetworkStats delta = computeStatsDelta( mLastPollUidSnapshot, uidSnapshot, false, UID); mLastPollUidSnapshot, uidSnapshot, false, "uid"); final NetworkStats operationsDelta = computeStatsDelta( mLastPollOperationsSnapshot, mOperations, false, UID); mLastPollOperationsSnapshot, mOperations, false, "uidop"); final long timeStart = currentTime - delta.getElapsedRealtime(); NetworkStats.Entry entry = null; Loading Loading
core/java/android/net/NetworkStats.java +7 −2 Original line number Diff line number Diff line Loading @@ -466,7 +466,7 @@ public class NetworkStats implements Parcelable { public NetworkStats subtract(NetworkStats value) throws NonMonotonicException { final long deltaRealtime = this.elapsedRealtime - value.elapsedRealtime; if (deltaRealtime < 0) { throw new IllegalArgumentException("found non-monotonic realtime"); throw new NonMonotonicException(this, value); } // result will have our rows, and elapsed time between snapshots Loading Loading @@ -586,6 +586,7 @@ public class NetworkStats implements Parcelable { pw.print("NetworkStats: elapsedRealtime="); pw.println(elapsedRealtime); for (int i = 0; i < size; i++) { pw.print(prefix); pw.print(" ["); pw.print(i); pw.print("]"); pw.print(" iface="); pw.print(iface[i]); pw.print(" uid="); pw.print(uid[i]); pw.print(" set="); pw.print(setToString(set[i])); Loading Loading @@ -649,6 +650,10 @@ public class NetworkStats implements Parcelable { public final int leftIndex; public final int rightIndex; public NonMonotonicException(NetworkStats left, NetworkStats right) { this(left, -1, right, -1); } public NonMonotonicException( NetworkStats left, int leftIndex, NetworkStats right, int rightIndex) { this.left = checkNotNull(left, "missing left"); Loading
services/java/com/android/server/net/NetworkStatsService.java +11 −15 Original line number Diff line number Diff line Loading @@ -152,10 +152,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { private static final String TAG_NETSTATS_ERROR = "netstats_error"; private static final String DEV = "dev"; private static final String XT = "xt"; private static final String UID = "uid"; private final Context mContext; private final INetworkManagementService mNetworkManager; private final IAlarmManager mAlarmManager; Loading Loading @@ -278,6 +274,9 @@ public class NetworkStatsService extends INetworkStatsService.Stub { readNetworkXtStatsLocked(); } // bootstrap initial stats to prevent double-counting later bootstrapStats(); // watch for network interfaces to be claimed final IntentFilter connFilter = new IntentFilter(CONNECTIVITY_ACTION_IMMEDIATE); mContext.registerReceiver(mConnReceiver, connFilter, CONNECTIVITY_INTERNAL, mHandler); Loading Loading @@ -311,9 +310,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { registerPollAlarmLocked(); registerGlobalAlert(); // bootstrap initial stats to prevent double-counting later bootstrapStats(); mDropBox = (DropBoxManager) mContext.getSystemService(Context.DROPBOX_SERVICE); } Loading Loading @@ -837,9 +833,9 @@ public class NetworkStatsService extends INetworkStatsService.Stub { // persist when enough network data has occurred final long persistNetworkDevDelta = computeStatsDelta( mLastPersistNetworkDevSnapshot, networkDevSnapshot, true, DEV).getTotalBytes(); mLastPersistNetworkDevSnapshot, networkDevSnapshot, true, "devp").getTotalBytes(); final long persistNetworkXtDelta = computeStatsDelta( mLastPersistNetworkXtSnapshot, networkXtSnapshot, true, XT).getTotalBytes(); mLastPersistNetworkXtSnapshot, networkXtSnapshot, true, "xtp").getTotalBytes(); final boolean networkOverThreshold = persistNetworkDevDelta > threshold || persistNetworkXtDelta > threshold; if (persistForce || (persistNetwork && networkOverThreshold)) { Loading @@ -851,7 +847,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { // persist when enough uid data has occurred final long persistUidDelta = computeStatsDelta( mLastPersistUidSnapshot, uidSnapshot, true, UID).getTotalBytes(); mLastPersistUidSnapshot, uidSnapshot, true, "uidp").getTotalBytes(); if (persistForce || (persistUid && persistUidDelta > threshold)) { writeUidStatsLocked(); mLastPersistUidSnapshot = uidSnapshot; Loading Loading @@ -880,7 +876,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { final HashSet<String> unknownIface = Sets.newHashSet(); final NetworkStats delta = computeStatsDelta( mLastPollNetworkDevSnapshot, networkDevSnapshot, false, DEV); mLastPollNetworkDevSnapshot, networkDevSnapshot, false, "dev"); final long timeStart = currentTime - delta.getElapsedRealtime(); NetworkStats.Entry entry = null; Loading Loading @@ -910,7 +906,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { final HashSet<String> unknownIface = Sets.newHashSet(); final NetworkStats delta = computeStatsDelta( mLastPollNetworkXtSnapshot, networkXtSnapshot, false, XT); mLastPollNetworkXtSnapshot, networkXtSnapshot, false, "xt"); final long timeStart = currentTime - delta.getElapsedRealtime(); NetworkStats.Entry entry = null; Loading Loading @@ -940,9 +936,9 @@ public class NetworkStatsService extends INetworkStatsService.Stub { ensureUidStatsLoadedLocked(); final NetworkStats delta = computeStatsDelta( mLastPollUidSnapshot, uidSnapshot, false, UID); mLastPollUidSnapshot, uidSnapshot, false, "uid"); final NetworkStats operationsDelta = computeStatsDelta( mLastPollOperationsSnapshot, mOperations, false, UID); mLastPollOperationsSnapshot, mOperations, false, "uidop"); final long timeStart = currentTime - delta.getElapsedRealtime(); NetworkStats.Entry entry = null; Loading