Implement CarStorageMonitoringManager.getBootIoStats()
This API returns information about I/O activity that the system performed from kernel initalization until
the BOOT_COMPLETE notification was broadcast.
Bug: 65846699
Bug: 32512551
Test: runtest -x p/s/C/tests/carservice[_unit]_test/src/com/android/car/CarStorageMonitoringTest.java
Change-Id: I2eaed1491dc6a5dda8e34edd41047c64dcc2f537
diff --git a/car-lib/api/system-current.txt b/car-lib/api/system-current.txt
index ee35126..b567e2e 100644
--- a/car-lib/api/system-current.txt
+++ b/car-lib/api/system-current.txt
@@ -1004,6 +1004,7 @@
package android.car.storagemonitoring {
public final class CarStorageMonitoringManager {
+ method public java.util.List<android.car.storagemonitoring.UidIoStats> getBootIoStats() throws android.car.CarNotConnectedException;
method public int getPreEolIndicatorStatus() throws android.car.CarNotConnectedException;
method public android.car.storagemonitoring.WearEstimate getWearEstimate() throws android.car.CarNotConnectedException;
method public java.util.List<android.car.storagemonitoring.WearEstimateChange> getWearEstimateHistory() throws android.car.CarNotConnectedException;
@@ -1013,27 +1014,29 @@
field public static final int PRE_EOL_INFO_WARNING = 2; // 0x2
}
- public final class UidIoStatEntry implements android.os.Parcelable {
- ctor public UidIoStatEntry(int, android.car.storagemonitoring.UidIoStatEntry.PerStateMetrics, android.car.storagemonitoring.UidIoStatEntry.PerStateMetrics);
- ctor public UidIoStatEntry(android.os.Parcel);
- ctor public UidIoStatEntry(org.json.JSONObject) throws org.json.JSONException;
+ public final class UidIoStats implements android.os.Parcelable {
+ ctor public UidIoStats(int, long, android.car.storagemonitoring.UidIoStats.PerStateMetrics, android.car.storagemonitoring.UidIoStats.PerStateMetrics);
+ ctor public UidIoStats(android.os.Parcel);
+ ctor public UidIoStats(android.car.storagemonitoring.UidIoStatsRecord, long);
+ ctor public UidIoStats(org.json.JSONObject) throws org.json.JSONException;
method public int describeContents();
method public void writeToJson(android.util.JsonWriter) throws java.io.IOException;
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.car.storagemonitoring.UidIoStatEntry> CREATOR;
- field public final android.car.storagemonitoring.UidIoStatEntry.PerStateMetrics background;
- field public final android.car.storagemonitoring.UidIoStatEntry.PerStateMetrics foreground;
+ field public static final android.os.Parcelable.Creator<android.car.storagemonitoring.UidIoStats> CREATOR;
+ field public final android.car.storagemonitoring.UidIoStats.PerStateMetrics background;
+ field public final android.car.storagemonitoring.UidIoStats.PerStateMetrics foreground;
+ field public final long runtimeMillis;
field public final int uid;
}
- public static final class UidIoStatEntry.PerStateMetrics implements android.os.Parcelable {
- ctor public UidIoStatEntry.PerStateMetrics(long, long, long, long, long);
- ctor public UidIoStatEntry.PerStateMetrics(android.os.Parcel);
- ctor public UidIoStatEntry.PerStateMetrics(org.json.JSONObject) throws org.json.JSONException;
+ public static final class UidIoStats.PerStateMetrics implements android.os.Parcelable {
+ ctor public UidIoStats.PerStateMetrics(long, long, long, long, long);
+ ctor public UidIoStats.PerStateMetrics(android.os.Parcel);
+ ctor public UidIoStats.PerStateMetrics(org.json.JSONObject) throws org.json.JSONException;
method public int describeContents();
method public void writeToJson(android.util.JsonWriter) throws java.io.IOException;
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.car.storagemonitoring.UidIoStatEntry.PerStateMetrics> CREATOR;
+ field public static final android.os.Parcelable.Creator<android.car.storagemonitoring.UidIoStats.PerStateMetrics> CREATOR;
field public final long bytesRead;
field public final long bytesReadFromStorage;
field public final long bytesWritten;
@@ -1041,6 +1044,21 @@
field public final long fsyncCalls;
}
+ public final class UidIoStatsRecord {
+ ctor public UidIoStatsRecord(int, long, long, long, long, long, long, long, long, long, long);
+ field public final long background_fsync;
+ field public final long background_rchar;
+ field public final long background_read_bytes;
+ field public final long background_wchar;
+ field public final long background_write_bytes;
+ field public final long foreground_fsync;
+ field public final long foreground_rchar;
+ field public final long foreground_read_bytes;
+ field public final long foreground_wchar;
+ field public final long foreground_write_bytes;
+ field public final int uid;
+ }
+
public class WearEstimate implements android.os.Parcelable {
ctor public WearEstimate(int, int);
ctor public WearEstimate(android.os.Parcel);