Camera: Add metrics collection for FPS range
- Add new misc analytics flag for 24q3
- Add collection of most common FPS range requested by client
- Add tests for FPS histogram
- Clean up unit test build files so that a source file doesn't have to be
listed twice
Bug: 324485285
Test: New unit tests pass, camera CTS, manual checking of new metrics logging
Change-Id: I0e76b0f7c4a2e41e2a160051bba12d54e6fd480b
diff --git a/camera/CameraSessionStats.cpp b/camera/CameraSessionStats.cpp
index 057ec99..450bdd8 100644
--- a/camera/CameraSessionStats.cpp
+++ b/camera/CameraSessionStats.cpp
@@ -439,6 +439,16 @@
return err;
}
+ auto mostRequestedFpsRange = std::make_pair(0,0);
+ if ((err = parcel->readInt32(&mostRequestedFpsRange.first)) != OK) {
+ ALOGE("%s: Failed to read frame rate range min info!", __FUNCTION__);
+ return err;
+ }
+ if ((err = parcel->readInt32(&mostRequestedFpsRange.second)) != OK) {
+ ALOGE("%s: Failed to read frame rate range max info!", __FUNCTION__);
+ return err;
+ }
+
mCameraId = toStdString(id);
mFacing = facing;
mNewCameraState = newCameraState;
@@ -460,6 +470,7 @@
mUsedZoomOverride = usedZoomOverride;
mSessionIndex = sessionIdx;
mCameraExtensionSessionStats = extStats;
+ mMostRequestedFpsRange = mostRequestedFpsRange;
return OK;
}
@@ -577,6 +588,16 @@
return err;
}
+ if ((err = parcel->writeInt32(mMostRequestedFpsRange.first)) != OK) {
+ ALOGE("%s: Failed to write frame rate range min info!", __FUNCTION__);
+ return err;
+ }
+
+ if ((err = parcel->writeInt32(mMostRequestedFpsRange.second)) != OK) {
+ ALOGE("%s: Failed to write frame rate range max info!", __FUNCTION__);
+ return err;
+ }
+
return OK;
}