[libcamera-devel] [PATCH 1/4] tracepoints: request: Add private pointer to request_construct

Paul Elder paul.elder at ideasonboard.com
Fri Dec 9 09:19:34 CET 2022


Since some Request tracepoints print the public pointer and some print
the private pointer, print both pointers in the constructor tracepoint
so that they can be used to associate with the other request
tracepoints.

Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
---
 include/libcamera/internal/tracepoints/request.tp | 13 ++++++++++---
 src/libcamera/request.cpp                         |  2 +-
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/include/libcamera/internal/tracepoints/request.tp b/include/libcamera/internal/tracepoints/request.tp
index f1e54497..491c7705 100644
--- a/include/libcamera/internal/tracepoints/request.tp
+++ b/include/libcamera/internal/tracepoints/request.tp
@@ -8,6 +8,7 @@
 #include <libcamera/internal/request.h>
 
 #include <libcamera/framebuffer.h>
+#include <libcamera/request.h>
 
 TRACEPOINT_EVENT_CLASS(
 	libcamera,
@@ -22,12 +23,18 @@ TRACEPOINT_EVENT_CLASS(
 	)
 )
 
-TRACEPOINT_EVENT_INSTANCE(
+TRACEPOINT_EVENT(
 	libcamera,
-	request,
 	request_construct,
 	TP_ARGS(
-		libcamera::Request *, req
+		libcamera::Request *, req,
+		libcamera::Request::Private *, priv
+	),
+	TP_FIELDS(
+		ctf_integer_hex(uintptr_t, request, reinterpret_cast<uintptr_t>(req))
+		ctf_integer_hex(uintptr_t, priv, reinterpret_cast<uintptr_t>(priv))
+		ctf_integer(uint64_t, cookie, req->cookie())
+		ctf_enum(libcamera, request_status, uint32_t, status, req->status())
 	)
 )
 
diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp
index 949c556f..b9fb17d6 100644
--- a/src/libcamera/request.cpp
+++ b/src/libcamera/request.cpp
@@ -356,7 +356,7 @@ Request::Request(Camera *camera, uint64_t cookie)
 	 */
 	metadata_ = new ControlList(controls::controls);
 
-	LIBCAMERA_TRACEPOINT(request_construct, this);
+	LIBCAMERA_TRACEPOINT(request_construct, this, _d());
 
 	LOG(Request, Debug) << "Created request - cookie: " << cookie_;
 }
-- 
2.35.1



More information about the libcamera-devel mailing list