diff options
author | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2021-03-02 15:50:41 +0000 |
---|---|---|
committer | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2021-03-08 11:52:10 +0000 |
commit | a36cde7834c114fd14ef07781742b5aa25d0b5d9 (patch) | |
tree | 2425777f0b88a04dd38d5a9110c3ff378f6100de | |
parent | 3620f25c61cfaf6db3e5128b59e26f8d432c95fd (diff) |
tracing: pipeline_handler: Queue Requests
Add tracing to the base pipeline handler class to track when requests are queued.
Tracing is already available for other Request operations, but queuing a Request
is not an operation handled by the Request itself.
Add the tracepoint to the PipelineHandler::queueRequest() so the lifetime of a
Request can be viewed when tracing.
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r-- | include/libcamera/internal/tracepoints/request.tp | 9 | ||||
-rw-r--r-- | src/libcamera/pipeline_handler.cpp | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/include/libcamera/internal/tracepoints/request.tp b/include/libcamera/internal/tracepoints/request.tp index 7ffc6061..9e872951 100644 --- a/include/libcamera/internal/tracepoints/request.tp +++ b/include/libcamera/internal/tracepoints/request.tp @@ -51,6 +51,15 @@ TRACEPOINT_EVENT_INSTANCE( TRACEPOINT_EVENT_INSTANCE( libcamera, request, + request_queue, + TP_ARGS( + libcamera::Request *, req + ) +) + +TRACEPOINT_EVENT_INSTANCE( + libcamera, + request, request_complete, TP_ARGS( libcamera::Request *, req diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp index f72d26c7..d22991d3 100644 --- a/src/libcamera/pipeline_handler.cpp +++ b/src/libcamera/pipeline_handler.cpp @@ -16,6 +16,7 @@ #include "libcamera/internal/device_enumerator.h" #include "libcamera/internal/log.h" #include "libcamera/internal/media_device.h" +#include "libcamera/internal/tracepoints.h" #include "libcamera/internal/utils.h" /** @@ -375,6 +376,8 @@ const ControlList &PipelineHandler::properties(const Camera *camera) const */ int PipelineHandler::queueRequest(Request *request) { + LIBCAMERA_TRACEPOINT(request_queue, request); + Camera *camera = request->camera_; CameraData *data = cameraData(camera); data->queuedRequests_.push_back(request); |