Parse network stats using native code.
Switch to parsing detailed network stats with native code, which
is 71% faster than ProcFileReader.
Change-Id: I2525aaee74d227ce187ba3a74dd08a2b06514deb
diff --git a/services/java/com/android/server/NetworkManagementService.java b/services/java/com/android/server/NetworkManagementService.java
index 29e4c43..25ed27a 100644
--- a/services/java/com/android/server/NetworkManagementService.java
+++ b/services/java/com/android/server/NetworkManagementService.java
@@ -1120,19 +1120,31 @@
@Override
public NetworkStats getNetworkStatsSummaryDev() {
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
- return mStatsFactory.readNetworkStatsSummaryDev();
+ try {
+ return mStatsFactory.readNetworkStatsSummaryDev();
+ } catch (IOException e) {
+ throw new IllegalStateException(e);
+ }
}
@Override
public NetworkStats getNetworkStatsSummaryXt() {
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
- return mStatsFactory.readNetworkStatsSummaryXt();
+ try {
+ return mStatsFactory.readNetworkStatsSummaryXt();
+ } catch (IOException e) {
+ throw new IllegalStateException(e);
+ }
}
@Override
public NetworkStats getNetworkStatsDetail() {
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
- return mStatsFactory.readNetworkStatsDetail(UID_ALL);
+ try {
+ return mStatsFactory.readNetworkStatsDetail(UID_ALL);
+ } catch (IOException e) {
+ throw new IllegalStateException(e);
+ }
}
@Override
@@ -1289,7 +1301,11 @@
@Override
public NetworkStats getNetworkStatsUidDetail(int uid) {
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
- return mStatsFactory.readNetworkStatsDetail(uid);
+ try {
+ return mStatsFactory.readNetworkStatsDetail(uid);
+ } catch (IOException e) {
+ throw new IllegalStateException(e);
+ }
}
@Override