[libcamera-devel] [PATCH 0/1] Use tracing with perfetto in ChromeOS
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Jul 20 10:49:11 CEST 2022
Hi Harvey,
On Tue, Jul 19, 2022 at 05:20:56PM +0800, Cheng-Hao Yang via libcamera-devel wrote:
> 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.
Thank you.
> 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 :)
Do you know if there's an easy way to try perfetto on a non-Chrome OS
(and non-Android) device ?
> On Mon, Jul 18, 2022 at 7:49 PM Kieran Bingham wrote:
> > 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.
> >
> > > 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
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list