@ThreadSafe public class CameraMetricsCollector extends SystemMetricsCollector<CameraMetrics>
The collector exposes camera open/close, preview open/close and error recording functions that
can be passed a Camera or a CameraDevice object and will track times accordingly.
- For Camera1, - Camera#open(), Camera#open(int) -> recordCameraOpen(Object) - Camera#release() -> recordCameraClose(Object) -
Camera#startPreview() -> recordPreviewStart(Object) - Camera#stopPreview() -> recordPreviewStop(Object) - Camera.ErrorCallback#onError(int, Camera) -> recordCameraError(Object) - For Camera2, -
CameraDevice.StateCallback#onOpened(CameraDevice) -> recordCameraOpen(Object) -
CameraDevice.StateCallback#onClosed(CameraDevice) -> recordCameraClose(Object) -
CameraDevice.StateCallback#onError(CameraDevice, int) -> recordCameraError(Object) - CameraCaptureSession#setRepeatingRequest(CaptureRequest,
CameraCaptureSession.CaptureCallback, Handler) -> recordPreviewStart(Object) - CameraCaptureSession#close() -> recordPreviewStop(Object) - CameraDevice#close
-> recordCameraClose(Object)
| Constructor and Description |
|---|
CameraMetricsCollector() |
| Modifier and Type | Method and Description |
|---|---|
CameraMetrics |
createMetrics()
Creates an empty instance of the corresponding system metrics.
|
boolean |
getSnapshot(CameraMetrics snapshot)
Note that access to snapshot instances is not synchronized and must be taken care of
by the caller requesting getSnapshot.
|
void |
recordCameraClose(java.lang.Object camera) |
void |
recordCameraError(java.lang.Object camera) |
void |
recordCameraOpen(java.lang.Object camera) |
void |
recordPreviewStart(java.lang.Object camera) |
void |
recordPreviewStop(java.lang.Object camera) |
public boolean getSnapshot(CameraMetrics snapshot)
SystemMetricsCollectorgetSnapshot in class SystemMetricsCollector<CameraMetrics>snapshot - snapshot on which the data will be writtenpublic CameraMetrics createMetrics()
SystemMetricsCollectorExplicitly having this function available reduces a significant amount of boilerplate
createMetrics in class SystemMetricsCollector<CameraMetrics>public void recordCameraOpen(java.lang.Object camera)
public void recordCameraClose(java.lang.Object camera)
public void recordPreviewStart(java.lang.Object camera)
public void recordPreviewStop(java.lang.Object camera)
public void recordCameraError(java.lang.Object camera)