summaryrefslogtreecommitdiffstats
path: root/service/java/com/android/server/wifi/WifiConfigStore.java
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2019-01-31 10:17:20 -0800
committerRoshan Pius <rpius@google.com>2019-02-13 10:21:41 -0800
commit37b625721ae692eb455243c826f11ed9db860bb7 (patch)
tree193ed4b1adc59abc8f61f671ee992510f22eab7a /service/java/com/android/server/wifi/WifiConfigStore.java
parent06889f85bba6c6d921e7dd8fc2e1eb8158d6fccc (diff)
downloadandroid_frameworks_opt_net_wifi-37b625721ae692eb455243c826f11ed9db860bb7.tar.gz
android_frameworks_opt_net_wifi-37b625721ae692eb455243c826f11ed9db860bb7.tar.bz2
android_frameworks_opt_net_wifi-37b625721ae692eb455243c826f11ed9db860bb7.zip
WifiMetrics: Add wifi config store IO duration metrics
Bug: 123693626 Test: adb shell dumpsys wifi wifiMetricsProto Test: ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh Change-Id: Iaf26f55aad462bc68f015208412308e0645993f0
Diffstat (limited to 'service/java/com/android/server/wifi/WifiConfigStore.java')
-rw-r--r--service/java/com/android/server/wifi/WifiConfigStore.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/service/java/com/android/server/wifi/WifiConfigStore.java b/service/java/com/android/server/wifi/WifiConfigStore.java
index d7335534e..d23923905 100644
--- a/service/java/com/android/server/wifi/WifiConfigStore.java
+++ b/service/java/com/android/server/wifi/WifiConfigStore.java
@@ -16,6 +16,8 @@
package com.android.server.wifi;
+import static java.lang.Math.toIntExact;
+
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -158,6 +160,7 @@ public class WifiConfigStore {
* Clock instance to retrieve timestamps for alarms.
*/
private final Clock mClock;
+ private final WifiMetrics mWifiMetrics;
/**
* Shared config store file instance. There is 1 shared store file:
* {@link #STORE_FILE_NAME_SHARED_GENERAL}.
@@ -202,15 +205,17 @@ public class WifiConfigStore {
* @param context context to use for retrieving the alarm manager.
* @param looper looper instance to post alarm timeouts to.
* @param clock clock instance to retrieve timestamps for alarms.
+ * @param wifiMetrics Metrics instance.
* @param sharedStore StoreFile instance pointing to the shared store file. This should
* be retrieved using {@link #createSharedFile()} method.
*/
- public WifiConfigStore(Context context, Looper looper, Clock clock,
+ public WifiConfigStore(Context context, Looper looper, Clock clock, WifiMetrics wifiMetrics,
StoreFile sharedStore) {
mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
mEventHandler = new Handler(looper);
mClock = clock;
+ mWifiMetrics = wifiMetrics;
mStoreDataList = new ArrayList<>();
// Initialize the store files.
@@ -447,7 +452,11 @@ public class WifiConfigStore {
}
}
long writeTime = mClock.getElapsedSinceBootMillis() - writeStartTime;
-
+ try {
+ mWifiMetrics.noteWifiConfigStoreWriteDuration(toIntExact(writeTime));
+ } catch (ArithmeticException e) {
+ // Silently ignore on any overflow errors.
+ }
Log.d(TAG, "Writing to stores completed in " + writeTime + " ms.");
}
@@ -475,6 +484,11 @@ public class WifiConfigStore {
}
}
long readTime = mClock.getElapsedSinceBootMillis() - readStartTime;
+ try {
+ mWifiMetrics.noteWifiConfigStoreReadDuration(toIntExact(readTime));
+ } catch (ArithmeticException e) {
+ // Silently ignore on any overflow errors.
+ }
Log.d(TAG, "Reading from all stores completed in " + readTime + " ms.");
}
@@ -504,6 +518,7 @@ public class WifiConfigStore {
deserializeData(userDataBytes, userStoreFile);
}
long readTime = mClock.getElapsedSinceBootMillis() - readStartTime;
+ mWifiMetrics.noteWifiConfigStoreReadDuration(toIntExact(readTime));
Log.d(TAG, "Reading from user stores completed in " + readTime + " ms.");
}