cameraserver: Make trace points in HFR code paths optional.
Per processCaptureResult save 4 trace point costs -> approximately 2%of 4ms budget.
Save 2 trace points per processCaptureRequest call.
[assuming each trace point costs around 10us]
Bug: 155910869
Test: Try HFR; record perfetto trace, make sure trace points opted out
don't appear
Change-Id: Ifcfec6e0d5a40958cd4f84734b6be094afaa4f17
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
diff --git a/services/camera/libcameraservice/device3/Camera3Stream.cpp b/services/camera/libcameraservice/device3/Camera3Stream.cpp
index e54a99b..20f6168 100644
--- a/services/camera/libcameraservice/device3/Camera3Stream.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Stream.cpp
@@ -22,6 +22,7 @@
#include <utils/Trace.h>
#include "device3/Camera3Stream.h"
#include "device3/StatusTracker.h"
+#include "utils/TraceHFR.h"
#include <cutils/properties.h>
@@ -601,7 +602,7 @@
status_t Camera3Stream::getBuffer(camera3_stream_buffer *buffer,
nsecs_t waitBufferTimeout,
const std::vector<size_t>& surface_ids) {
- ATRACE_CALL();
+ ATRACE_HFR_CALL();
Mutex::Autolock l(mLock);
status_t res = OK;
@@ -682,7 +683,7 @@
status_t Camera3Stream::returnBuffer(const camera3_stream_buffer &buffer,
nsecs_t timestamp, bool timestampIncreasing,
const std::vector<size_t>& surface_ids, uint64_t frameNumber) {
- ATRACE_CALL();
+ ATRACE_HFR_CALL();
Mutex::Autolock l(mLock);
// Check if this buffer is outstanding.