Merge "cameraservice: Log session index" into udc-dev

This commit is contained in:
Avichal Rakesh
2023-05-10 18:53:11 +00:00
committed by Android (Google) Code Review
2 changed files with 21 additions and 7 deletions

View File

@@ -64,6 +64,7 @@ public class CameraSessionStats implements Parcelable {
private ArrayList<CameraStreamStats> mStreamStats; private ArrayList<CameraStreamStats> mStreamStats;
private String mUserTag; private String mUserTag;
private int mVideoStabilizationMode; private int mVideoStabilizationMode;
private int mSessionIndex;
public CameraSessionStats() { public CameraSessionStats() {
mFacing = -1; mFacing = -1;
@@ -80,11 +81,13 @@ public class CameraSessionStats implements Parcelable {
mDeviceError = false; mDeviceError = false;
mStreamStats = new ArrayList<CameraStreamStats>(); mStreamStats = new ArrayList<CameraStreamStats>();
mVideoStabilizationMode = -1; mVideoStabilizationMode = -1;
mSessionIndex = 0;
} }
public CameraSessionStats(String cameraId, int facing, int newCameraState, public CameraSessionStats(String cameraId, int facing, int newCameraState,
String clientName, int apiLevel, boolean isNdk, int creationDuration, String clientName, int apiLevel, boolean isNdk, int creationDuration,
float maxPreviewFps, int sessionType, int internalReconfigure, long logId) { float maxPreviewFps, int sessionType, int internalReconfigure, long logId,
int sessionIdx) {
mCameraId = cameraId; mCameraId = cameraId;
mFacing = facing; mFacing = facing;
mNewCameraState = newCameraState; mNewCameraState = newCameraState;
@@ -97,6 +100,7 @@ public class CameraSessionStats implements Parcelable {
mSessionType = sessionType; mSessionType = sessionType;
mInternalReconfigure = internalReconfigure; mInternalReconfigure = internalReconfigure;
mStreamStats = new ArrayList<CameraStreamStats>(); mStreamStats = new ArrayList<CameraStreamStats>();
mSessionIndex = sessionIdx;
} }
public static final @android.annotation.NonNull Parcelable.Creator<CameraSessionStats> CREATOR = public static final @android.annotation.NonNull Parcelable.Creator<CameraSessionStats> CREATOR =
@@ -140,6 +144,7 @@ public class CameraSessionStats implements Parcelable {
dest.writeTypedList(mStreamStats); dest.writeTypedList(mStreamStats);
dest.writeString(mUserTag); dest.writeString(mUserTag);
dest.writeInt(mVideoStabilizationMode); dest.writeInt(mVideoStabilizationMode);
dest.writeInt(mSessionIndex);
} }
public void readFromParcel(Parcel in) { public void readFromParcel(Parcel in) {
@@ -164,6 +169,7 @@ public class CameraSessionStats implements Parcelable {
mUserTag = in.readString(); mUserTag = in.readString();
mVideoStabilizationMode = in.readInt(); mVideoStabilizationMode = in.readInt();
mSessionIndex = in.readInt();
} }
public String getCameraId() { public String getCameraId() {
@@ -233,4 +239,8 @@ public class CameraSessionStats implements Parcelable {
public int getVideoStabilizationMode() { public int getVideoStabilizationMode() {
return mVideoStabilizationMode; return mVideoStabilizationMode;
} }
public int getSessionIndex() {
return mSessionIndex;
}
} }

View File

@@ -244,12 +244,13 @@ public class CameraServiceProxy extends SystemService
public String mUserTag; public String mUserTag;
public int mVideoStabilizationMode; public int mVideoStabilizationMode;
public final long mLogId; public final long mLogId;
public final int mSessionIndex;
private long mDurationOrStartTimeMs; // Either start time, or duration once completed private long mDurationOrStartTimeMs; // Either start time, or duration once completed
CameraUsageEvent(String cameraId, int facing, String clientName, int apiLevel, CameraUsageEvent(String cameraId, int facing, String clientName, int apiLevel,
boolean isNdk, int action, int latencyMs, int operatingMode, boolean deviceError, boolean isNdk, int action, int latencyMs, int operatingMode, boolean deviceError,
long logId) { long logId, int sessionIdx) {
mCameraId = cameraId; mCameraId = cameraId;
mCameraFacing = facing; mCameraFacing = facing;
mClientName = clientName; mClientName = clientName;
@@ -262,6 +263,7 @@ public class CameraServiceProxy extends SystemService
mOperatingMode = operatingMode; mOperatingMode = operatingMode;
mDeviceError = deviceError; mDeviceError = deviceError;
mLogId = logId; mLogId = logId;
mSessionIndex = sessionIdx;
} }
public void markCompleted(int internalReconfigure, long requestCount, public void markCompleted(int internalReconfigure, long requestCount,
@@ -844,7 +846,8 @@ public class CameraServiceProxy extends SystemService
+ ", streamCount is " + streamCount + ", streamCount is " + streamCount
+ ", userTag is " + e.mUserTag + ", userTag is " + e.mUserTag
+ ", videoStabilizationMode " + e.mVideoStabilizationMode + ", videoStabilizationMode " + e.mVideoStabilizationMode
+ ", logId " + e.mLogId); + ", logId " + e.mLogId
+ ", sessionIndex " + e.mSessionIndex);
} }
// Convert from CameraStreamStats to CameraStreamProto // Convert from CameraStreamStats to CameraStreamProto
CameraStreamProto[] streamProtos = new CameraStreamProto[MAX_STREAM_STATISTICS]; CameraStreamProto[] streamProtos = new CameraStreamProto[MAX_STREAM_STATISTICS];
@@ -904,7 +907,7 @@ public class CameraServiceProxy extends SystemService
MessageNano.toByteArray(streamProtos[2]), MessageNano.toByteArray(streamProtos[2]),
MessageNano.toByteArray(streamProtos[3]), MessageNano.toByteArray(streamProtos[3]),
MessageNano.toByteArray(streamProtos[4]), MessageNano.toByteArray(streamProtos[4]),
e.mUserTag, e.mVideoStabilizationMode, e.mLogId); e.mUserTag, e.mVideoStabilizationMode, e.mLogId, e.mSessionIndex);
} }
} }
@@ -1094,6 +1097,7 @@ public class CameraServiceProxy extends SystemService
String userTag = cameraState.getUserTag(); String userTag = cameraState.getUserTag();
int videoStabilizationMode = cameraState.getVideoStabilizationMode(); int videoStabilizationMode = cameraState.getVideoStabilizationMode();
long logId = cameraState.getLogId(); long logId = cameraState.getLogId();
int sessionIdx = cameraState.getSessionIndex();
synchronized(mLock) { synchronized(mLock) {
// Update active camera list and notify NFC if necessary // Update active camera list and notify NFC if necessary
boolean wasEmpty = mActiveCameraUsage.isEmpty(); boolean wasEmpty = mActiveCameraUsage.isEmpty();
@@ -1115,7 +1119,7 @@ public class CameraServiceProxy extends SystemService
CameraUsageEvent openEvent = new CameraUsageEvent( CameraUsageEvent openEvent = new CameraUsageEvent(
cameraId, facing, clientName, apiLevel, isNdk, cameraId, facing, clientName, apiLevel, isNdk,
FrameworkStatsLog.CAMERA_ACTION_EVENT__ACTION__OPEN, FrameworkStatsLog.CAMERA_ACTION_EVENT__ACTION__OPEN,
latencyMs, sessionType, deviceError, logId); latencyMs, sessionType, deviceError, logId, sessionIdx);
mCameraUsageHistory.add(openEvent); mCameraUsageHistory.add(openEvent);
break; break;
case CameraSessionStats.CAMERA_STATE_ACTIVE: case CameraSessionStats.CAMERA_STATE_ACTIVE:
@@ -1142,7 +1146,7 @@ public class CameraServiceProxy extends SystemService
CameraUsageEvent newEvent = new CameraUsageEvent( CameraUsageEvent newEvent = new CameraUsageEvent(
cameraId, facing, clientName, apiLevel, isNdk, cameraId, facing, clientName, apiLevel, isNdk,
FrameworkStatsLog.CAMERA_ACTION_EVENT__ACTION__SESSION, FrameworkStatsLog.CAMERA_ACTION_EVENT__ACTION__SESSION,
latencyMs, sessionType, deviceError, logId); latencyMs, sessionType, deviceError, logId, sessionIdx);
CameraUsageEvent oldEvent = mActiveCameraUsage.put(cameraId, newEvent); CameraUsageEvent oldEvent = mActiveCameraUsage.put(cameraId, newEvent);
if (oldEvent != null) { if (oldEvent != null) {
Slog.w(TAG, "Camera " + cameraId + " was already marked as active"); Slog.w(TAG, "Camera " + cameraId + " was already marked as active");
@@ -1186,7 +1190,7 @@ public class CameraServiceProxy extends SystemService
CameraUsageEvent closeEvent = new CameraUsageEvent( CameraUsageEvent closeEvent = new CameraUsageEvent(
cameraId, facing, clientName, apiLevel, isNdk, cameraId, facing, clientName, apiLevel, isNdk,
FrameworkStatsLog.CAMERA_ACTION_EVENT__ACTION__CLOSE, FrameworkStatsLog.CAMERA_ACTION_EVENT__ACTION__CLOSE,
latencyMs, sessionType, deviceError, logId); latencyMs, sessionType, deviceError, logId, sessionIdx);
mCameraUsageHistory.add(closeEvent); mCameraUsageHistory.add(closeEvent);
} }