[libcamera-devel] [PATCH 0/1] Use tracing with perfetto in ChromeOS
Cheng-Hao Yang
chenghaoyang at chromium.org
Tue Jul 19 11:20:56 CEST 2022
Hi Kieran,
Thanks for looking into this! I'll add more description/instructions in the
README, including adding new tracing points and how to check the tracing
result.
In the meantime, you can try https://ui.perfetto.dev with the attached
tracing result I recorded. In the "Show timeline" tab, you can see that
there are quite some traces with Category "libcamera "in CameraModuleThr 9
& CameraDeviceOps 11. Those might be helpful when we need to debug
something :)
BR,
Harvey
On Mon, Jul 18, 2022 at 7:49 PM Kieran Bingham <
kieran.bingham at ideasonboard.com> wrote:
> Hi Harvey,
>
> Quoting Harvey Yang via libcamera-devel (2022-06-15 15:20:50)
> > Hello everyone,
> >
> > This is the first draft of the patch(es) that uses tracing with perfetto
> > instead of lttng when libcamera is used in ChromeOS, which already uses
> > perfetto to collect traces in most of the applications/services.
> >
> > Please take a look and see if it's the right direction to go. Mostly I
> > copied and pasted the simple producer in chromiumos (also written by
> > me :) ):
> >
> https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/perfetto_simple_producer
> >
>
> This looks interesting, and the perfetto UI viewer tool [0] looks good too.
>
> [0] https://ui.perfetto.dev/
>
> Could you summarise some instructions on how to test this please?
> A good visualisation for libcamera internals would be great. I would
> love to see this able to switch between showing what each thread /
> component is busy processing, or have the timeline present the progress
> of Requests through the system.
>
> --
> Kieran
>
>
> > Thanks!
> >
> > BR,
> > Harvey
> >
> > Harvey Yang (1):
> > Use tracing with perfetto in ChromeOS
> >
> > include/libcamera/internal/tracepoints.h.in | 37 +++++++++--
> > .../internal/tracepoints/meson.build | 25 ++++---
> > .../internal/tracepoints/pipeline.perfetto | 10 +++
> > .../internal/tracepoints/request.perfetto | 30 +++++++++
> > meson.build | 1 +
> > src/android/cros/camera3_hal.cpp | 5 ++
> > src/android/cros/meson.build | 1 +
> > src/libcamera/meson.build | 18 ++++-
> > src/libcamera/pipeline_perfetto.cpp | 22 +++++++
> > src/libcamera/request_perfetto.cpp | 65 +++++++++++++++++++
> > src/libcamera/tracepoints.cpp | 11 ++++
> > 11 files changed, 209 insertions(+), 16 deletions(-)
> > create mode 100644
> include/libcamera/internal/tracepoints/pipeline.perfetto
> > create mode 100644
> include/libcamera/internal/tracepoints/request.perfetto
> > create mode 100644 src/libcamera/pipeline_perfetto.cpp
> > create mode 100644 src/libcamera/request_perfetto.cpp
> >
> > --
> > 2.36.1.476.g0c4daa206d-goog
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20220719/c940b309/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: perfetto-trace
Type: application/octet-stream
Size: 263869 bytes
Desc: not available
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20220719/c940b309/attachment.obj>
More information about the libcamera-devel
mailing list