[{"id":23949,"web_url":"https://patchwork.libcamera.org/comment/23949/","msgid":"<165814495194.2021905.14592276931430061491@Monstersaurus>","date":"2022-07-18T11:49:11","subject":"Re: [libcamera-devel] [PATCH 0/1] Use tracing with perfetto in\n\tChromeOS","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Harvey,\n\nQuoting Harvey Yang via libcamera-devel (2022-06-15 15:20:50)\n> Hello everyone,\n> \n> This is the first draft of the patch(es) that uses tracing with perfetto\n> instead of lttng when libcamera is used in ChromeOS, which already uses\n> perfetto to collect traces in most of the applications/services.\n> \n> Please take a look and see if it's the right direction to go. Mostly I\n> copied and pasted the simple producer in chromiumos (also written by\n> me :) ):\n> https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/perfetto_simple_producer\n> \n\nThis looks interesting, and the perfetto UI viewer tool [0] looks good too.\n\n[0] https://ui.perfetto.dev/\n\nCould you summarise some instructions on how to test this please?\nA good visualisation for libcamera internals would be great. I would\nlove to see this able to switch between showing what each thread /\ncomponent is busy processing, or have the timeline present the progress\nof Requests through the system.\n\n--\nKieran\n\n\n> Thanks!\n> \n> BR,\n> Harvey\n> \n> Harvey Yang (1):\n>   Use tracing with perfetto in ChromeOS\n> \n>  include/libcamera/internal/tracepoints.h.in   | 37 +++++++++--\n>  .../internal/tracepoints/meson.build          | 25 ++++---\n>  .../internal/tracepoints/pipeline.perfetto    | 10 +++\n>  .../internal/tracepoints/request.perfetto     | 30 +++++++++\n>  meson.build                                   |  1 +\n>  src/android/cros/camera3_hal.cpp              |  5 ++\n>  src/android/cros/meson.build                  |  1 +\n>  src/libcamera/meson.build                     | 18 ++++-\n>  src/libcamera/pipeline_perfetto.cpp           | 22 +++++++\n>  src/libcamera/request_perfetto.cpp            | 65 +++++++++++++++++++\n>  src/libcamera/tracepoints.cpp                 | 11 ++++\n>  11 files changed, 209 insertions(+), 16 deletions(-)\n>  create mode 100644 include/libcamera/internal/tracepoints/pipeline.perfetto\n>  create mode 100644 include/libcamera/internal/tracepoints/request.perfetto\n>  create mode 100644 src/libcamera/pipeline_perfetto.cpp\n>  create mode 100644 src/libcamera/request_perfetto.cpp\n> \n> -- \n> 2.36.1.476.g0c4daa206d-goog\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 619FBBD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 18 Jul 2022 11:49:17 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B243F6330E;\n\tMon, 18 Jul 2022 13:49:16 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2D40F6048B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 18 Jul 2022 13:49:15 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 9BC746DC;\n\tMon, 18 Jul 2022 13:49:14 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1658144956;\n\tbh=Lm3JFMi6guKtejAKuPiRMVESJhjGDP6LqxdSO+rxVco=;\n\th=In-Reply-To:References:To:Date:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=VLI/ctQ82TS3x07StDZltBs93zIa5KhTQOnPXXYC8u99BCokb/dFKBY9Vfw5M2tDF\n\tYrsmldvp62Y9S0oSQpQ1VogINNlWSdrDWd+jpxMHK1DWVVcZmXshFS1LnEsy762DBa\n\tPxuni9Qo1MJRnAYycyrM7OyfWs2GXYxSvmA5nm1zW0SqZWCqdaD2/tiO2qVWu38XPc\n\txHa04Q4NYgqIHnWMXbrbeROGTo6vZo5Y3WRlb+aJ2w//p2jmNw0n9I8kteIcO5uVm3\n\t6KdZxfp7ZZ0mziQ5w7zgzvcZOmQh+czhvWnyDjcbGfbwEcvVyghRthuDhWyiXzMPmK\n\trj2TiuaxQ8Tbg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1658144954;\n\tbh=Lm3JFMi6guKtejAKuPiRMVESJhjGDP6LqxdSO+rxVco=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=iFFpg5XvDXewi6byVov5v1AwjZ8DR8YWFGLWU49A+r5P+zitvB1IPD4tZy1KC2saC\n\t5rm1t9G+9AOnMYfg3CyfkOO+HK7rQ+ih0uFdk9yVYbl0zzciW7SYgT02F0NXGzfcg2\n\txiEfqEUd5hVaQeXOeDlo9XOsX+Z8ia6Pxz1qX28U="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"iFFpg5Xv\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20220615142051.450396-1-chenghaoyang@google.com>","References":"<20220615142051.450396-1-chenghaoyang@google.com>","To":"Harvey Yang <chenghaoyang@chromium.org>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Mon, 18 Jul 2022 12:49:11 +0100","Message-ID":"<165814495194.2021905.14592276931430061491@Monstersaurus>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH 0/1] Use tracing with perfetto in\n\tChromeOS","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Harvey Yang <chenghaoyang@google.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":23959,"web_url":"https://patchwork.libcamera.org/comment/23959/","msgid":"<CAEB1ahsKzQr-HgNtkBkCg9RsuQVNpzcCcBE8oyD=9Okn29bqiQ@mail.gmail.com>","date":"2022-07-19T09:20:56","subject":"Re: [libcamera-devel] [PATCH 0/1] Use tracing with perfetto in\n\tChromeOS","submitter":{"id":117,"url":"https://patchwork.libcamera.org/api/people/117/","name":"Cheng-Hao Yang","email":"chenghaoyang@chromium.org"},"content":"Hi Kieran,\n\nThanks for looking into this! I'll add more description/instructions in the\nREADME, including adding new tracing points and how to check the tracing\nresult.\n\nIn the meantime, you can try https://ui.perfetto.dev with the attached\ntracing result I recorded. In the \"Show timeline\" tab, you can see that\nthere are quite some traces with Category \"libcamera \"in CameraModuleThr 9\n& CameraDeviceOps 11. Those might be helpful when we need to debug\nsomething :)\n\nBR,\nHarvey\n\n\n\nOn Mon, Jul 18, 2022 at 7:49 PM Kieran Bingham <\nkieran.bingham@ideasonboard.com> wrote:\n\n> Hi Harvey,\n>\n> Quoting Harvey Yang via libcamera-devel (2022-06-15 15:20:50)\n> > Hello everyone,\n> >\n> > This is the first draft of the patch(es) that uses tracing with perfetto\n> > instead of lttng when libcamera is used in ChromeOS, which already uses\n> > perfetto to collect traces in most of the applications/services.\n> >\n> > Please take a look and see if it's the right direction to go. Mostly I\n> > copied and pasted the simple producer in chromiumos (also written by\n> > me :) ):\n> >\n> https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/perfetto_simple_producer\n> >\n>\n> This looks interesting, and the perfetto UI viewer tool [0] looks good too.\n>\n> [0] https://ui.perfetto.dev/\n>\n> Could you summarise some instructions on how to test this please?\n> A good visualisation for libcamera internals would be great. I would\n> love to see this able to switch between showing what each thread /\n> component is busy processing, or have the timeline present the progress\n> of Requests through the system.\n>\n> --\n> Kieran\n>\n>\n> > Thanks!\n> >\n> > BR,\n> > Harvey\n> >\n> > Harvey Yang (1):\n> >   Use tracing with perfetto in ChromeOS\n> >\n> >  include/libcamera/internal/tracepoints.h.in   | 37 +++++++++--\n> >  .../internal/tracepoints/meson.build          | 25 ++++---\n> >  .../internal/tracepoints/pipeline.perfetto    | 10 +++\n> >  .../internal/tracepoints/request.perfetto     | 30 +++++++++\n> >  meson.build                                   |  1 +\n> >  src/android/cros/camera3_hal.cpp              |  5 ++\n> >  src/android/cros/meson.build                  |  1 +\n> >  src/libcamera/meson.build                     | 18 ++++-\n> >  src/libcamera/pipeline_perfetto.cpp           | 22 +++++++\n> >  src/libcamera/request_perfetto.cpp            | 65 +++++++++++++++++++\n> >  src/libcamera/tracepoints.cpp                 | 11 ++++\n> >  11 files changed, 209 insertions(+), 16 deletions(-)\n> >  create mode 100644\n> include/libcamera/internal/tracepoints/pipeline.perfetto\n> >  create mode 100644\n> include/libcamera/internal/tracepoints/request.perfetto\n> >  create mode 100644 src/libcamera/pipeline_perfetto.cpp\n> >  create mode 100644 src/libcamera/request_perfetto.cpp\n> >\n> > --\n> > 2.36.1.476.g0c4daa206d-goog\n> >\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 67D30BD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 19 Jul 2022 09:22:59 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 329836330D;\n\tTue, 19 Jul 2022 11:22:59 +0200 (CEST)","from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com\n\t[IPv6:2a00:1450:4864:20::12c])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2233A6330D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 19 Jul 2022 11:21:09 +0200 (CEST)","by mail-lf1-x12c.google.com with SMTP id d12so23695579lfq.12\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 19 Jul 2022 02:21:09 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1658222579;\n\tbh=kGzxrZdv3JtBXzUzOVfLuS0XikNVO3WXusUieCG4eDQ=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=wRsBWfz0tCp1SRpgLUfqANisJTdSjLMl693u9JnRr4pv7kyJBkq16I7WdvlmAB8Dv\n\tLI7POuiUfCiDNf8JBOtboIlSgpFihg8ZTqbjFCtNSpqLvPKdPMql6PrZAUABUxU2sF\n\tzqcspVRCSZwwTl+9J/M2qhIDTjcrSPf4DlYD2sS9EloJmkB/bvkXUdLvK/mj0XOzY5\n\tKP2Ic4gvFGkdxnTFjO53vagnzGcIr0gh3oIoNh/haNRaX/JXbMeSHwoSGIV/OzukUX\n\tfhvlS7Ty9i3fhr35kQ6d5qMm5z/mj4oOoOM0xGExty3gThouW4a0pfah4d9zBUONFN\n\tIsAj22yroyCoA==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=K9pL0LmCSwbBDAvqde3APNqvwiX257fluZDZPAIDQjI=;\n\tb=T7XhfxQqIU/LAx8LkQzKPZjqtXs5Nym5BLpag6M0Zdf4TYkzaU1zzqKyjDy7WwI8s6\n\tcUQZHqnUyOdzx02LfeaTJd7TdEP+/6vRtRSTzu2xRT2cUYZKov1pS6WDGe4FtxpUyqBg\n\tkGQdOS35A8vpT31nHMi5bvue5RnO7/KPnwnPU="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=chromium.org\n\theader.i=@chromium.org header.b=\"T7XhfxQq\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=K9pL0LmCSwbBDAvqde3APNqvwiX257fluZDZPAIDQjI=;\n\tb=IIwhmHNefsAk5nQ49pQB3ahT/sd0nrJ9u9sIxZzeiZjKuS+zr+Piblvsn1kgk9H2+e\n\tqu6ohVMxccLKILhrBe5Q5YQQDsRxkuhkeDsG1+F2O59APavxjjAKyyliuBAaA+pOmsHh\n\tEjeGq5JGtMgJ85kmIoVYX3eMYPO+JRewLNcPVS21JPoADuyFoI6RMLeebZO7j2DU+pRg\n\tmVYVbmpSnvG9JtFcT9rjcrkYRwbBq5rPaCA9fADAe6lDQpyUGghSun4VD70vEBm+t10t\n\tca/6twlllxjkQvx2TSinqL2MYaCMkhVJrd/4mhisiQWUeC/bGbdxaz0OCIY5NAo0Hgxd\n\t5MmA==","X-Gm-Message-State":"AJIora8blx4Vsa5xPYkn/+bhlddtOIMtrSmoZ7S21H6s6rUp7oxSjtKc\n\tZ+Gt2STA4AB9J+9mpiYNLPeX3OLrTm8FkeeT2g+nlg==","X-Google-Smtp-Source":"AGRyM1vP2m4a0V8qa5aeRFFvZFImGONV4AJ2mriVOEsydPxmk4YARWXuYiNvbXlz++9dYHJFIin2l8IRZBKRM2+/17o=","X-Received":"by 2002:a05:6512:2610:b0:47f:74dc:3205 with SMTP id\n\tbt16-20020a056512261000b0047f74dc3205mr15873822lfb.429.1658222468270;\n\tTue, 19 Jul 2022 02:21:08 -0700 (PDT)","MIME-Version":"1.0","References":"<20220615142051.450396-1-chenghaoyang@google.com>\n\t<165814495194.2021905.14592276931430061491@Monstersaurus>","In-Reply-To":"<165814495194.2021905.14592276931430061491@Monstersaurus>","Date":"Tue, 19 Jul 2022 17:20:56 +0800","Message-ID":"<CAEB1ahsKzQr-HgNtkBkCg9RsuQVNpzcCcBE8oyD=9Okn29bqiQ@mail.gmail.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Content-Type":"multipart/mixed; boundary=\"0000000000002e715f05e42501e8\"","X-Mailman-Approved-At":"Tue, 19 Jul 2022 11:22:57 +0200","Subject":"Re: [libcamera-devel] [PATCH 0/1] Use tracing with perfetto in\n\tChromeOS","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Cheng-Hao Yang via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Cheng-Hao Yang <chenghaoyang@chromium.org>","Cc":"Harvey Yang <chenghaoyang@google.com>,\n\tlibcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":23985,"web_url":"https://patchwork.libcamera.org/comment/23985/","msgid":"<YtfBh1wfI79/rJvt@pendragon.ideasonboard.com>","date":"2022-07-20T08:49:11","subject":"Re: [libcamera-devel] [PATCH 0/1] Use tracing with perfetto in\n\tChromeOS","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Harvey,\n\nOn Tue, Jul 19, 2022 at 05:20:56PM +0800, Cheng-Hao Yang via libcamera-devel wrote:\n> Hi Kieran,\n> \n> Thanks for looking into this! I'll add more description/instructions in the\n> README, including adding new tracing points and how to check the tracing\n> result.\n\nThank you.\n\n> In the meantime, you can try https://ui.perfetto.dev with the attached\n> tracing result I recorded. In the \"Show timeline\" tab, you can see that\n> there are quite some traces with Category \"libcamera \"in CameraModuleThr 9\n> & CameraDeviceOps 11. Those might be helpful when we need to debug\n> something :)\n\nDo you know if there's an easy way to try perfetto on a non-Chrome OS\n(and non-Android) device ?\n\n> On Mon, Jul 18, 2022 at 7:49 PM Kieran Bingham wrote:\n> > Quoting Harvey Yang via libcamera-devel (2022-06-15 15:20:50)\n> > > Hello everyone,\n> > >\n> > > This is the first draft of the patch(es) that uses tracing with perfetto\n> > > instead of lttng when libcamera is used in ChromeOS, which already uses\n> > > perfetto to collect traces in most of the applications/services.\n> > >\n> > > Please take a look and see if it's the right direction to go. Mostly I\n> > > copied and pasted the simple producer in chromiumos (also written by\n> > > me :) ):\n> > >\n> > https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/perfetto_simple_producer\n> > >\n> >\n> > This looks interesting, and the perfetto UI viewer tool [0] looks good too.\n> >\n> > [0] https://ui.perfetto.dev/\n> >\n> > Could you summarise some instructions on how to test this please?\n> > A good visualisation for libcamera internals would be great. I would\n> > love to see this able to switch between showing what each thread /\n> > component is busy processing, or have the timeline present the progress\n> > of Requests through the system.\n> >\n> > > Harvey Yang (1):\n> > >   Use tracing with perfetto in ChromeOS\n> > >\n> > >  include/libcamera/internal/tracepoints.h.in   | 37 +++++++++--\n> > >  .../internal/tracepoints/meson.build          | 25 ++++---\n> > >  .../internal/tracepoints/pipeline.perfetto    | 10 +++\n> > >  .../internal/tracepoints/request.perfetto     | 30 +++++++++\n> > >  meson.build                                   |  1 +\n> > >  src/android/cros/camera3_hal.cpp              |  5 ++\n> > >  src/android/cros/meson.build                  |  1 +\n> > >  src/libcamera/meson.build                     | 18 ++++-\n> > >  src/libcamera/pipeline_perfetto.cpp           | 22 +++++++\n> > >  src/libcamera/request_perfetto.cpp            | 65 +++++++++++++++++++\n> > >  src/libcamera/tracepoints.cpp                 | 11 ++++\n> > >  11 files changed, 209 insertions(+), 16 deletions(-)\n> > >  create mode 100644 include/libcamera/internal/tracepoints/pipeline.perfetto\n> > >  create mode 100644 include/libcamera/internal/tracepoints/request.perfetto\n> > >  create mode 100644 src/libcamera/pipeline_perfetto.cpp\n> > >  create mode 100644 src/libcamera/request_perfetto.cpp","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 5B3FFBE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 20 Jul 2022 08:49:47 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AC10F63313;\n\tWed, 20 Jul 2022 10:49:46 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BECA860488\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 20 Jul 2022 10:49:45 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 0D80C6DB;\n\tWed, 20 Jul 2022 10:49:44 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1658306986;\n\tbh=2geimynQDxxg6P/xTlOltDYLWTzQAV9uPWvzaJr7/T4=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=WQLazzat9B7I6+xHeYGrIJQv099SQEs6Lk2WjJD4UL12HlSmxgecPXluuoZpAg2rQ\n\t9yIc8Lx2eKQM8YPoT/HBfnw5TsHWUl9Zfg6a4mNoNmlIvEkAMpOty+FgyT4suK2B3A\n\tV63w0LuJHRC5gpteCj3IplZDylp78nyrNjhxiS4ZMyNm0kq2yKc9jlw9e9OVz3ReYJ\n\tl0NzUfx6QgPY/gi4RNetl7212oDyHSYq/GJ/ibPqrEso/wut6kbFfLrBqVZPUEtKEC\n\thA5apI4uctjNyZ5bQ45eAdW5q43iVe29fPPuhsnMhnOt7YAhneOS6sPlDlWsGmWU+h\n\tCSJCLCQ6q6hsw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1658306985;\n\tbh=2geimynQDxxg6P/xTlOltDYLWTzQAV9uPWvzaJr7/T4=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=S8r9ystrk1IlukvSb851+oW1GX5n7fXDX92UzQHAnBG2vhVcihYgwy/3p7DyxV2Bn\n\ttNOexv6kYeqisJ/8/NBlft1YE1qSOSD7LOYkUg0DcYMxrfvhFaUcyMRRaXpVvDlbgu\n\tl4MEeciuzo5BvDLG7GjZVQWYcc3vRidbGe0aBtKw="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"S8r9ystr\"; dkim-atps=neutral","Date":"Wed, 20 Jul 2022 11:49:11 +0300","To":"Cheng-Hao Yang <chenghaoyang@chromium.org>","Message-ID":"<YtfBh1wfI79/rJvt@pendragon.ideasonboard.com>","References":"<20220615142051.450396-1-chenghaoyang@google.com>\n\t<165814495194.2021905.14592276931430061491@Monstersaurus>\n\t<CAEB1ahsKzQr-HgNtkBkCg9RsuQVNpzcCcBE8oyD=9Okn29bqiQ@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<CAEB1ahsKzQr-HgNtkBkCg9RsuQVNpzcCcBE8oyD=9Okn29bqiQ@mail.gmail.com>","Subject":"Re: [libcamera-devel] [PATCH 0/1] Use tracing with perfetto in\n\tChromeOS","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"Harvey Yang <chenghaoyang@google.com>,\n\tlibcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":23988,"web_url":"https://patchwork.libcamera.org/comment/23988/","msgid":"<CAEB1ahvpd0HYH-306DTaQeJ=i2mz4xM3Pr4+pf75mLv9M_oGfw@mail.gmail.com>","date":"2022-07-20T08:57:22","subject":"Re: [libcamera-devel] [PATCH 0/1] Use tracing with perfetto in\n\tChromeOS","submitter":{"id":117,"url":"https://patchwork.libcamera.org/api/people/117/","name":"Cheng-Hao Yang","email":"chenghaoyang@chromium.org"},"content":"Hi Laurent,\n\n> Do you know if there's an easy way to try perfetto on a non-Chrome OS\n(and non-Android) device ?\nI haven't tried it myself, but on the Perfetto Docs, there are instructions\nto capture a trace on Linux [1]. I'm not sure what kind of traces you'd get\nthough :)\n\nDo you mean that we might consider using perfetto in libcamera, not only on\nChromeOS devices?\n\nWith a trace result (like I attached in the last message) though, we can\nsee the visualized result on any devices with a browser, FYI.\n\n[1]: https://perfetto.dev/docs/quickstart/linux-tracing\n\nOn Wed, Jul 20, 2022 at 4:49 PM Laurent Pinchart <\nlaurent.pinchart@ideasonboard.com> wrote:\n\n> Hi Harvey,\n>\n> On Tue, Jul 19, 2022 at 05:20:56PM +0800, Cheng-Hao Yang via\n> libcamera-devel wrote:\n> > Hi Kieran,\n> >\n> > Thanks for looking into this! I'll add more description/instructions in\n> the\n> > README, including adding new tracing points and how to check the tracing\n> > result.\n>\n> Thank you.\n>\n> > In the meantime, you can try https://ui.perfetto.dev with the attached\n> > tracing result I recorded. In the \"Show timeline\" tab, you can see that\n> > there are quite some traces with Category \"libcamera \"in CameraModuleThr\n> 9\n> > & CameraDeviceOps 11. Those might be helpful when we need to debug\n> > something :)\n>\n> Do you know if there's an easy way to try perfetto on a non-Chrome OS\n> (and non-Android) device ?\n>\n> > On Mon, Jul 18, 2022 at 7:49 PM Kieran Bingham wrote:\n> > > Quoting Harvey Yang via libcamera-devel (2022-06-15 15:20:50)\n> > > > Hello everyone,\n> > > >\n> > > > This is the first draft of the patch(es) that uses tracing with\n> perfetto\n> > > > instead of lttng when libcamera is used in ChromeOS, which already\n> uses\n> > > > perfetto to collect traces in most of the applications/services.\n> > > >\n> > > > Please take a look and see if it's the right direction to go. Mostly\n> I\n> > > > copied and pasted the simple producer in chromiumos (also written by\n> > > > me :) ):\n> > > >\n> > >\n> https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/perfetto_simple_producer\n> > > >\n> > >\n> > > This looks interesting, and the perfetto UI viewer tool [0] looks good\n> too.\n> > >\n> > > [0] https://ui.perfetto.dev/\n> > >\n> > > Could you summarise some instructions on how to test this please?\n> > > A good visualisation for libcamera internals would be great. I would\n> > > love to see this able to switch between showing what each thread /\n> > > component is busy processing, or have the timeline present the progress\n> > > of Requests through the system.\n> > >\n> > > > Harvey Yang (1):\n> > > >   Use tracing with perfetto in ChromeOS\n> > > >\n> > > >  include/libcamera/internal/tracepoints.h.in   | 37 +++++++++--\n> > > >  .../internal/tracepoints/meson.build          | 25 ++++---\n> > > >  .../internal/tracepoints/pipeline.perfetto    | 10 +++\n> > > >  .../internal/tracepoints/request.perfetto     | 30 +++++++++\n> > > >  meson.build                                   |  1 +\n> > > >  src/android/cros/camera3_hal.cpp              |  5 ++\n> > > >  src/android/cros/meson.build                  |  1 +\n> > > >  src/libcamera/meson.build                     | 18 ++++-\n> > > >  src/libcamera/pipeline_perfetto.cpp           | 22 +++++++\n> > > >  src/libcamera/request_perfetto.cpp            | 65\n> +++++++++++++++++++\n> > > >  src/libcamera/tracepoints.cpp                 | 11 ++++\n> > > >  11 files changed, 209 insertions(+), 16 deletions(-)\n> > > >  create mode 100644\n> include/libcamera/internal/tracepoints/pipeline.perfetto\n> > > >  create mode 100644\n> include/libcamera/internal/tracepoints/request.perfetto\n> > > >  create mode 100644 src/libcamera/pipeline_perfetto.cpp\n> > > >  create mode 100644 src/libcamera/request_perfetto.cpp\n>\n> --\n> Regards,\n>\n> Laurent Pinchart\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 695D2BE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 20 Jul 2022 08:57:36 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1C2AB63313;\n\tWed, 20 Jul 2022 10:57:36 +0200 (CEST)","from mail-lj1-x231.google.com (mail-lj1-x231.google.com\n\t[IPv6:2a00:1450:4864:20::231])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 03C0B60488\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 20 Jul 2022 10:57:34 +0200 (CEST)","by mail-lj1-x231.google.com with SMTP id a10so20350333ljj.5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 20 Jul 2022 01:57:33 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1658307456;\n\tbh=Mz1yetK3Qhm6Qjr6bFfwel0lU3WDnEwaDFdhnXj3q7M=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=AKnADuWsZbjNqEn5EQQv5WqDy7+B9T2rap787rZOlsXJYGQRukFYNipR4qsxiQb8Y\n\txnUK9Q5vUag5El1lNlq2loCFKHwtR2M1SOmtEqh/rUVaeoEEFo46E5DMBi4ZY6Boqk\n\tMjrcTslJjqaGhLGx1O2iWivrwFMeCMRyol271uBaHngGBa/nsPu//412V84tcCRdUh\n\tekXlDKBwS/6XcffmWKsO6156HKPpWH8o0HC/G6vodbWi3Vgdo1eCKB4LCkpfp3PJrN\n\tRi+Wl68oUYO6H/rMq1q3Lee2lYUPdkqpG92VJEWICorhwxmK+pkkeqD+Xd5fIaNyWA\n\tJ0PH9cl1qcPZg==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=URkKLXd+RSdl0e3YZ3IKQDOvA2ts/OozAEQRA6LDO+A=;\n\tb=eNwt74I1tajXPqCqVdRiFyT1KjZwUX1VWS5r2QFT1EdVtsxcA6ulpLSOYy0OWTxiuD\n\tFq2MIuxM0TDkV3Q9XYzZ+N1lELR4C7LupTRPXr2BGk1/YKnjNB5aeJwqW0NsXAJqZQMB\n\t/Dv+8VzoxWX2quTU46dW3PukpFrZVG36zfLYc="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=chromium.org\n\theader.i=@chromium.org header.b=\"eNwt74I1\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=URkKLXd+RSdl0e3YZ3IKQDOvA2ts/OozAEQRA6LDO+A=;\n\tb=DLJgtaZtk/G+9uWjX90puxFZCdIaNa9UxayKVwyK1+myvki4eCn+qc/l914pMjHol/\n\tZ/94TpxenXoqtCpDQv9xEUYJSvAaDIS2n4tjxH6aPX34xo3f1Xhv1NUFQ7zga5X/+OcH\n\t5zafLPf2cTWW8aP9MOjag4LT8bFtIqJM+fvSp82S+nAqenqfe7abrPZEtKZhNDeQvk6w\n\ty8HytRJnzyRu9eKZGwdwZ+fgxr37SwPiL0h1liQnJuo78NqP3boi/AuW7QNVjkHouiwC\n\tXri2bYBx+hheqo0kpZPAU9xK22OhgO8T4mPmMlG+TJJDMmrP8a5GmZi82tMdKU5++k71\n\tObBg==","X-Gm-Message-State":"AJIora/jDsLPFCgLCXIYsvqctkvSo+d3fhh/UBJVHIWGM4TrI3HOBUKp\n\tM7JG/60dtlEoV9cmOcCVJF4LMAOnG3+3yIhFBj+M7PX7y4StFg==","X-Google-Smtp-Source":"AGRyM1tkG3Fea8aCq5FVsRZoiDCs3ldohtK/H+d0aE4AHwOXrFQaW9IW021BW/BOa/PR3S9wy7zpEs6/GZai3tJz9tA=","X-Received":"by 2002:a05:651c:38e:b0:25d:87b1:b50a with SMTP id\n\te14-20020a05651c038e00b0025d87b1b50amr17509810ljp.168.1658307453336;\n\tWed, 20 Jul 2022 01:57:33 -0700 (PDT)","MIME-Version":"1.0","References":"<20220615142051.450396-1-chenghaoyang@google.com>\n\t<165814495194.2021905.14592276931430061491@Monstersaurus>\n\t<CAEB1ahsKzQr-HgNtkBkCg9RsuQVNpzcCcBE8oyD=9Okn29bqiQ@mail.gmail.com>\n\t<YtfBh1wfI79/rJvt@pendragon.ideasonboard.com>","In-Reply-To":"<YtfBh1wfI79/rJvt@pendragon.ideasonboard.com>","Date":"Wed, 20 Jul 2022 16:57:22 +0800","Message-ID":"<CAEB1ahvpd0HYH-306DTaQeJ=i2mz4xM3Pr4+pf75mLv9M_oGfw@mail.gmail.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Content-Type":"multipart/alternative; boundary=\"000000000000af4dba05e438cac0\"","Subject":"Re: [libcamera-devel] [PATCH 0/1] Use tracing with perfetto in\n\tChromeOS","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Cheng-Hao Yang via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Cheng-Hao Yang <chenghaoyang@chromium.org>","Cc":"Harvey Yang <chenghaoyang@google.com>,\n\tlibcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":24003,"web_url":"https://patchwork.libcamera.org/comment/24003/","msgid":"<Ytfa9DNJyxvogF/t@pendragon.ideasonboard.com>","date":"2022-07-20T10:37:40","subject":"Re: [libcamera-devel] [PATCH 0/1] Use tracing with perfetto in\n\tChromeOS","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Wed, Jul 20, 2022 at 04:57:22PM +0800, Cheng-Hao Yang wrote:\n> Hi Laurent,\n> \n> > Do you know if there's an easy way to try perfetto on a non-Chrome OS\n> (and non-Android) device ?\n> I haven't tried it myself, but on the Perfetto Docs, there are instructions\n> to capture a trace on Linux [1]. I'm not sure what kind of traces you'd get\n> though :)\n> \n> Do you mean that we might consider using perfetto in libcamera, not only on\n> ChromeOS devices?\n\nIt would be nice if we could avoid maintaining different tracing\nframeworks. My main issue with perfetto is that it's not packaged by\ndistributions, making it hard to use outside of Chrome OS and Android.\n\n> With a trace result (like I attached in the last message) though, we can\n> see the visualized result on any devices with a browser, FYI.\n> \n> [1]: https://perfetto.dev/docs/quickstart/linux-tracing\n> \n> On Wed, Jul 20, 2022 at 4:49 PM Laurent Pinchart wrote:\n> > On Tue, Jul 19, 2022 at 05:20:56PM +0800, Cheng-Hao Yang via libcamera-devel wrote:\n> > > Hi Kieran,\n> > >\n> > > Thanks for looking into this! I'll add more description/instructions in the\n> > > README, including adding new tracing points and how to check the tracing\n> > > result.\n> >\n> > Thank you.\n> >\n> > > In the meantime, you can try https://ui.perfetto.dev with the attached\n> > > tracing result I recorded. In the \"Show timeline\" tab, you can see that\n> > > there are quite some traces with Category \"libcamera \"in CameraModuleThr 9\n> > > & CameraDeviceOps 11. Those might be helpful when we need to debug\n> > > something :)\n> >\n> > Do you know if there's an easy way to try perfetto on a non-Chrome OS\n> > (and non-Android) device ?\n> >\n> > > On Mon, Jul 18, 2022 at 7:49 PM Kieran Bingham wrote:\n> > > > Quoting Harvey Yang via libcamera-devel (2022-06-15 15:20:50)\n> > > > > Hello everyone,\n> > > > >\n> > > > > This is the first draft of the patch(es) that uses tracing with perfetto\n> > > > > instead of lttng when libcamera is used in ChromeOS, which already uses\n> > > > > perfetto to collect traces in most of the applications/services.\n> > > > >\n> > > > > Please take a look and see if it's the right direction to go. Mostly I\n> > > > > copied and pasted the simple producer in chromiumos (also written by\n> > > > > me :) ):\n> > > > >\n> > > > > https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/perfetto_simple_producer\n> > > > >\n> > > >\n> > > > This looks interesting, and the perfetto UI viewer tool [0] looks good too.\n> > > >\n> > > > [0] https://ui.perfetto.dev/\n> > > >\n> > > > Could you summarise some instructions on how to test this please?\n> > > > A good visualisation for libcamera internals would be great. I would\n> > > > love to see this able to switch between showing what each thread /\n> > > > component is busy processing, or have the timeline present the progress\n> > > > of Requests through the system.\n> > > >\n> > > > > Harvey Yang (1):\n> > > > >   Use tracing with perfetto in ChromeOS\n> > > > >\n> > > > >  include/libcamera/internal/tracepoints.h.in   | 37 +++++++++--\n> > > > >  .../internal/tracepoints/meson.build          | 25 ++++---\n> > > > >  .../internal/tracepoints/pipeline.perfetto    | 10 +++\n> > > > >  .../internal/tracepoints/request.perfetto     | 30 +++++++++\n> > > > >  meson.build                                   |  1 +\n> > > > >  src/android/cros/camera3_hal.cpp              |  5 ++\n> > > > >  src/android/cros/meson.build                  |  1 +\n> > > > >  src/libcamera/meson.build                     | 18 ++++-\n> > > > >  src/libcamera/pipeline_perfetto.cpp           | 22 +++++++\n> > > > >  src/libcamera/request_perfetto.cpp            | 65 +++++++++++++++++++\n> > > > >  src/libcamera/tracepoints.cpp                 | 11 ++++\n> > > > >  11 files changed, 209 insertions(+), 16 deletions(-)\n> > > > >  create mode 100644 include/libcamera/internal/tracepoints/pipeline.perfetto\n> > > > >  create mode 100644 include/libcamera/internal/tracepoints/request.perfetto\n> > > > >  create mode 100644 src/libcamera/pipeline_perfetto.cpp\n> > > > >  create mode 100644 src/libcamera/request_perfetto.cpp","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 0E77ABE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 20 Jul 2022 10:38:18 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7B96A60489;\n\tWed, 20 Jul 2022 12:38:17 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AF6F3601B8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 20 Jul 2022 12:38:15 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E38BE6DB;\n\tWed, 20 Jul 2022 12:38:14 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1658313497;\n\tbh=o+MNq64INQvQHGZL+T3Ud0b6csgqlycsyHFYLB+t48s=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=is0LYZnD1dcUIeUHM0i+sdcbTrpRgFN7q1t9nGMX+WQNARcjrtdcW/D/b6yG5TKQj\n\tkqWnrfe9uWSsaj/5z/I7Mc812UEO5s8/wEuWzkFgdr+tJ4cvBp+gb17z4tw66+t1FY\n\tzeSP2s4xvO2Tsni2SwmprwnUaus4frFMVKKzEfaoDdW85qILpYwcg9juE/j2WAsR2U\n\tl1Slhmp4hrkCKgHafUiM6SNd5W5RMOQLNYOjERIpmQs4d7ijtvZdA86S3LgTA2kJ8s\n\tgjYNRLiZW3cp/7Qb8gBhlA7kiftF0vKM6ld6VfW7ux5yqO12lGx5OnbXJRUNDBeEQ6\n\tnNwFd4LeKtbdA==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1658313495;\n\tbh=o+MNq64INQvQHGZL+T3Ud0b6csgqlycsyHFYLB+t48s=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=BV6on3dd8o5JSRFIfD8grpDe5qcA7FGnqLsY6nqJ0w3TAGY6u6tLus05ap6+NlcgH\n\tkdvw3hLVqX/RVoH/Cpm4vVNwPTRF50g71DkEAbrFdQTYDkLSabv8jAAoLxUyRI297d\n\tGBAr58MuaNW6CkGOWp3xytmlsy6Y/OTJEV6D1MGA="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"BV6on3dd\"; dkim-atps=neutral","Date":"Wed, 20 Jul 2022 13:37:40 +0300","To":"Cheng-Hao Yang <chenghaoyang@chromium.org>","Message-ID":"<Ytfa9DNJyxvogF/t@pendragon.ideasonboard.com>","References":"<20220615142051.450396-1-chenghaoyang@google.com>\n\t<165814495194.2021905.14592276931430061491@Monstersaurus>\n\t<CAEB1ahsKzQr-HgNtkBkCg9RsuQVNpzcCcBE8oyD=9Okn29bqiQ@mail.gmail.com>\n\t<YtfBh1wfI79/rJvt@pendragon.ideasonboard.com>\n\t<CAEB1ahvpd0HYH-306DTaQeJ=i2mz4xM3Pr4+pf75mLv9M_oGfw@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<CAEB1ahvpd0HYH-306DTaQeJ=i2mz4xM3Pr4+pf75mLv9M_oGfw@mail.gmail.com>","Subject":"Re: [libcamera-devel] [PATCH 0/1] Use tracing with perfetto in\n\tChromeOS","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"Harvey Yang <chenghaoyang@google.com>,\n\tlibcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":24054,"web_url":"https://patchwork.libcamera.org/comment/24054/","msgid":"<CAEB1ahszCepGxJDdFRRgxOHG1MxrRzrxC9CgtmoNGoo7up6UpQ@mail.gmail.com>","date":"2022-07-22T12:04:34","subject":"Re: [libcamera-devel] [PATCH 0/1] Use tracing with perfetto in\n\tChromeOS","submitter":{"id":117,"url":"https://patchwork.libcamera.org/api/people/117/","name":"Cheng-Hao Yang","email":"chenghaoyang@chromium.org"},"content":"Uploaded PATCH v2. Descriptions and instructions are added in the document:\ntracing.rst. Please check :)\nI don't know how to split up the patch elegantly though...\n\n> It would be nice if we could avoid maintaining different tracing\nframeworks. My main issue with perfetto is that it's not packaged by\ndistributions, making it hard to use outside of Chrome OS and Android.\nYeah, that's an issue... The source of truth is in aosp, and it was meant\nto support Android/Chromium in the first place IIUC...\n\nBR,\nHarvey\n\nOn Wed, Jul 20, 2022 at 6:38 PM Laurent Pinchart <\nlaurent.pinchart@ideasonboard.com> wrote:\n\n> On Wed, Jul 20, 2022 at 04:57:22PM +0800, Cheng-Hao Yang wrote:\n> > Hi Laurent,\n> >\n> > > Do you know if there's an easy way to try perfetto on a non-Chrome OS\n> > (and non-Android) device ?\n> > I haven't tried it myself, but on the Perfetto Docs, there are\n> instructions\n> > to capture a trace on Linux [1]. I'm not sure what kind of traces you'd\n> get\n> > though :)\n> >\n> > Do you mean that we might consider using perfetto in libcamera, not only\n> on\n> > ChromeOS devices?\n>\n> It would be nice if we could avoid maintaining different tracing\n> frameworks. My main issue with perfetto is that it's not packaged by\n> distributions, making it hard to use outside of Chrome OS and Android.\n>\n> > With a trace result (like I attached in the last message) though, we can\n> > see the visualized result on any devices with a browser, FYI.\n> >\n> > [1]: https://perfetto.dev/docs/quickstart/linux-tracing\n> >\n> > On Wed, Jul 20, 2022 at 4:49 PM Laurent Pinchart wrote:\n> > > On Tue, Jul 19, 2022 at 05:20:56PM +0800, Cheng-Hao Yang via\n> libcamera-devel wrote:\n> > > > Hi Kieran,\n> > > >\n> > > > Thanks for looking into this! I'll add more description/instructions\n> in the\n> > > > README, including adding new tracing points and how to check the\n> tracing\n> > > > result.\n> > >\n> > > Thank you.\n> > >\n> > > > In the meantime, you can try https://ui.perfetto.dev with the\n> attached\n> > > > tracing result I recorded. In the \"Show timeline\" tab, you can see\n> that\n> > > > there are quite some traces with Category \"libcamera \"in\n> CameraModuleThr 9\n> > > > & CameraDeviceOps 11. Those might be helpful when we need to debug\n> > > > something :)\n> > >\n> > > Do you know if there's an easy way to try perfetto on a non-Chrome OS\n> > > (and non-Android) device ?\n> > >\n> > > > On Mon, Jul 18, 2022 at 7:49 PM Kieran Bingham wrote:\n> > > > > Quoting Harvey Yang via libcamera-devel (2022-06-15 15:20:50)\n> > > > > > Hello everyone,\n> > > > > >\n> > > > > > This is the first draft of the patch(es) that uses tracing with\n> perfetto\n> > > > > > instead of lttng when libcamera is used in ChromeOS, which\n> already uses\n> > > > > > perfetto to collect traces in most of the applications/services.\n> > > > > >\n> > > > > > Please take a look and see if it's the right direction to go.\n> Mostly I\n> > > > > > copied and pasted the simple producer in chromiumos (also\n> written by\n> > > > > > me :) ):\n> > > > > >\n> > > > > >\n> https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/perfetto_simple_producer\n> > > > > >\n> > > > >\n> > > > > This looks interesting, and the perfetto UI viewer tool [0] looks\n> good too.\n> > > > >\n> > > > > [0] https://ui.perfetto.dev/\n> > > > >\n> > > > > Could you summarise some instructions on how to test this please?\n> > > > > A good visualisation for libcamera internals would be great. I\n> would\n> > > > > love to see this able to switch between showing what each thread /\n> > > > > component is busy processing, or have the timeline present the\n> progress\n> > > > > of Requests through the system.\n> > > > >\n> > > > > > Harvey Yang (1):\n> > > > > >   Use tracing with perfetto in ChromeOS\n> > > > > >\n> > > > > >  include/libcamera/internal/tracepoints.h.in   | 37 +++++++++--\n> > > > > >  .../internal/tracepoints/meson.build          | 25 ++++---\n> > > > > >  .../internal/tracepoints/pipeline.perfetto    | 10 +++\n> > > > > >  .../internal/tracepoints/request.perfetto     | 30 +++++++++\n> > > > > >  meson.build                                   |  1 +\n> > > > > >  src/android/cros/camera3_hal.cpp              |  5 ++\n> > > > > >  src/android/cros/meson.build                  |  1 +\n> > > > > >  src/libcamera/meson.build                     | 18 ++++-\n> > > > > >  src/libcamera/pipeline_perfetto.cpp           | 22 +++++++\n> > > > > >  src/libcamera/request_perfetto.cpp            | 65\n> +++++++++++++++++++\n> > > > > >  src/libcamera/tracepoints.cpp                 | 11 ++++\n> > > > > >  11 files changed, 209 insertions(+), 16 deletions(-)\n> > > > > >  create mode 100644\n> include/libcamera/internal/tracepoints/pipeline.perfetto\n> > > > > >  create mode 100644\n> include/libcamera/internal/tracepoints/request.perfetto\n> > > > > >  create mode 100644 src/libcamera/pipeline_perfetto.cpp\n> > > > > >  create mode 100644 src/libcamera/request_perfetto.cpp\n>\n> --\n> Regards,\n>\n> Laurent Pinchart\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 30B7DBD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 22 Jul 2022 12:04:49 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 96DA1603F1;\n\tFri, 22 Jul 2022 14:04:48 +0200 (CEST)","from mail-lj1-x230.google.com (mail-lj1-x230.google.com\n\t[IPv6:2a00:1450:4864:20::230])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5E007601B8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 22 Jul 2022 14:04:46 +0200 (CEST)","by mail-lj1-x230.google.com with SMTP id a13so5014608ljr.11\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 22 Jul 2022 05:04:46 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1658491488;\n\tbh=9iTYq5U78H4ml6h4yFzwn3luuFNY3c1yNmBuT7Wq9tE=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=OcLT/OgeqWeeYjKZyr9hM+Hr9ibmdtR8w6j8b3TepYOXndgk5j7xRYHbnEstNAHff\n\tobUzfStTcZF054XhqqlO7nQpo8lZSyGHqCbwO/BLd1inxCEHjGdaDghHrkBGOmepgc\n\t/0FBSKI5o9BcHrQXZfqyU2A20SagIqMjr3ZpicVng+rP5MDddboYLo6HlS4Drs7JXa\n\tPM8T7vZDtXsMKSXubc+j4FNDO+hkvBmAeXQn0HQAgQcsxcmHdc8Vorl2TiDFG2uH0V\n\tVG4c3ULj7WNUqMbBgz+04yiVqiJh7qtcBzOOPVa/BJa8ePJ3FmmzACZLqrm0+sA0Ta\n\tlQYxyHfpa3Bbw==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=Bn1POKrHS0+dCKi6QX0rNfzLfyFiwvPbQo2TZFMLMaM=;\n\tb=FLd26t8A01A1tGOSRucYOSl46ZtyLp3hM85n3VsfeNcYGLiX49WdAC3PVDGZrQuQvV\n\t94GmGqWw66c2nU/bXGq2GYtaKOT+UfjsWYpGmhZDkJE3X+dDe1veeCn4syg73vuEa5vr\n\tUS1CD7Q5O9iwx4nP9MgLyOGQVN2o7dDOlWewQ="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=chromium.org\n\theader.i=@chromium.org header.b=\"FLd26t8A\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=Bn1POKrHS0+dCKi6QX0rNfzLfyFiwvPbQo2TZFMLMaM=;\n\tb=Hp+zDHa1TC+ANFpv3oeuLafzZmefRXmz/nEeTJfj+5cSGD62iExTpVb2bZzPxiSpQg\n\tXb0nQ8VX0hwIPEIRJQPdCS+qjI2LEYE2sX9J7khUrty2MjkEEfUSf6JnQcXcJnJp0HO+\n\tKmupmaO+NlQJ1T35ikQWzPDF50TbR6lVJEhmQpiAbo90meeCeveFSUdGvxKR/LJx6M62\n\tMgRbRbL2kyNnJ7HL4iv/WJoFAv6Vpv6tNGhMekGlr4nhjRQoSVTkehcNPg3b2XLpRjng\n\t6DljJqlSu4PmZSGXWo8hm1mCKviVOdhsAhLNmYjRJdyEv8nu+24Sn25ZIoNiT93Ug4Oj\n\tw7Gg==","X-Gm-Message-State":"AJIora8K7SMWqOcZ4v/RAACugpDyzsaZpoMqCcVOS0L24w3Lzge5+u7B\n\tZT2qYP3QyRgD3I8Pw4/JwhgNiB7OVSZlDUq1FNigEWOS2UnDpQ==","X-Google-Smtp-Source":"AGRyM1sonho0Tom7WHKoT8/ozpiqP79wjDcdw6VxTNGczZTNqyqxM1km23xniKWrPM7gPtCRcAkSy5iZKMmcg5om+m4=","X-Received":"by 2002:a05:651c:220d:b0:25d:5fa0:a83a with SMTP id\n\ty13-20020a05651c220d00b0025d5fa0a83amr74025ljq.276.1658491485394;\n\tFri, 22 Jul 2022 05:04:45 -0700 (PDT)","MIME-Version":"1.0","References":"<20220615142051.450396-1-chenghaoyang@google.com>\n\t<165814495194.2021905.14592276931430061491@Monstersaurus>\n\t<CAEB1ahsKzQr-HgNtkBkCg9RsuQVNpzcCcBE8oyD=9Okn29bqiQ@mail.gmail.com>\n\t<YtfBh1wfI79/rJvt@pendragon.ideasonboard.com>\n\t<CAEB1ahvpd0HYH-306DTaQeJ=i2mz4xM3Pr4+pf75mLv9M_oGfw@mail.gmail.com>\n\t<Ytfa9DNJyxvogF/t@pendragon.ideasonboard.com>","In-Reply-To":"<Ytfa9DNJyxvogF/t@pendragon.ideasonboard.com>","Date":"Fri, 22 Jul 2022 20:04:34 +0800","Message-ID":"<CAEB1ahszCepGxJDdFRRgxOHG1MxrRzrxC9CgtmoNGoo7up6UpQ@mail.gmail.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Content-Type":"multipart/alternative; boundary=\"000000000000d9ad9505e463a3b7\"","Subject":"Re: [libcamera-devel] [PATCH 0/1] Use tracing with perfetto in\n\tChromeOS","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Cheng-Hao Yang via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Cheng-Hao Yang <chenghaoyang@chromium.org>","Cc":"Harvey Yang <chenghaoyang@google.com>,\n\tlibcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25700,"web_url":"https://patchwork.libcamera.org/comment/25700/","msgid":"<CAEB1ahu8+ndnmggv_Bm7aOk2JFJJibpU0kzPFyeSGvSjw8LOng@mail.gmail.com>","date":"2022-11-01T03:06:20","subject":"Re: [libcamera-devel] [PATCH 0/1] Use tracing with perfetto in\n\tChromeOS","submitter":{"id":117,"url":"https://patchwork.libcamera.org/api/people/117/","name":"Cheng-Hao Yang","email":"chenghaoyang@chromium.org"},"content":"Hi folks,\nI'd like to request for another round of review of this patch. It'd really\nhelp a lot for performance tracing in CrOS.\nIf we could adopt it outside of ChromeOS and Android, it'd be better :)\n\nOn Fri, Jul 22, 2022 at 9:04 PM Cheng-Hao Yang <chenghaoyang@chromium.org>\nwrote:\n\n> Uploaded PATCH v2. Descriptions and instructions are added in the\n> document: tracing.rst. Please check :)\n> I don't know how to split up the patch elegantly though...\n>\n> > It would be nice if we could avoid maintaining different tracing\n> frameworks. My main issue with perfetto is that it's not packaged by\n> distributions, making it hard to use outside of Chrome OS and Android.\n> Yeah, that's an issue... The source of truth is in aosp, and it was meant\n> to support Android/Chromium in the first place IIUC...\n>\n>\nActually perfetto provides the sdk to be included for traces providers,\nlike [1]. Would that help?\nA server (traced) is still needed in the system to connect traces providers\nand collectors though...\n\n[1]:\nhttps://android.googlesource.com/platform/external/perfetto/+/refs/heads/releases/v30.x/sdk/\n\n\n> BR,\n> Harvey\n>\n> On Wed, Jul 20, 2022 at 6:38 PM Laurent Pinchart <\n> laurent.pinchart@ideasonboard.com> wrote:\n>\n>> On Wed, Jul 20, 2022 at 04:57:22PM +0800, Cheng-Hao Yang wrote:\n>> > Hi Laurent,\n>> >\n>> > > Do you know if there's an easy way to try perfetto on a non-Chrome OS\n>> > (and non-Android) device ?\n>> > I haven't tried it myself, but on the Perfetto Docs, there are\n>> instructions\n>> > to capture a trace on Linux [1]. I'm not sure what kind of traces you'd\n>> get\n>> > though :)\n>> >\n>> > Do you mean that we might consider using perfetto in libcamera, not\n>> only on\n>> > ChromeOS devices?\n>>\n>> It would be nice if we could avoid maintaining different tracing\n>> frameworks. My main issue with perfetto is that it's not packaged by\n>> distributions, making it hard to use outside of Chrome OS and Android.\n>>\n>> > With a trace result (like I attached in the last message) though, we can\n>> > see the visualized result on any devices with a browser, FYI.\n>> >\n>> > [1]: https://perfetto.dev/docs/quickstart/linux-tracing\n>> >\n>> > On Wed, Jul 20, 2022 at 4:49 PM Laurent Pinchart wrote:\n>> > > On Tue, Jul 19, 2022 at 05:20:56PM +0800, Cheng-Hao Yang via\n>> libcamera-devel wrote:\n>> > > > Hi Kieran,\n>> > > >\n>> > > > Thanks for looking into this! I'll add more\n>> description/instructions in the\n>> > > > README, including adding new tracing points and how to check the\n>> tracing\n>> > > > result.\n>> > >\n>> > > Thank you.\n>> > >\n>> > > > In the meantime, you can try https://ui.perfetto.dev with the\n>> attached\n>> > > > tracing result I recorded. In the \"Show timeline\" tab, you can see\n>> that\n>> > > > there are quite some traces with Category \"libcamera \"in\n>> CameraModuleThr 9\n>> > > > & CameraDeviceOps 11. Those might be helpful when we need to debug\n>> > > > something :)\n>> > >\n>> > > Do you know if there's an easy way to try perfetto on a non-Chrome OS\n>> > > (and non-Android) device ?\n>> > >\n>> > > > On Mon, Jul 18, 2022 at 7:49 PM Kieran Bingham wrote:\n>> > > > > Quoting Harvey Yang via libcamera-devel (2022-06-15 15:20:50)\n>> > > > > > Hello everyone,\n>> > > > > >\n>> > > > > > This is the first draft of the patch(es) that uses tracing with\n>> perfetto\n>> > > > > > instead of lttng when libcamera is used in ChromeOS, which\n>> already uses\n>> > > > > > perfetto to collect traces in most of the applications/services.\n>> > > > > >\n>> > > > > > Please take a look and see if it's the right direction to go.\n>> Mostly I\n>> > > > > > copied and pasted the simple producer in chromiumos (also\n>> written by\n>> > > > > > me :) ):\n>> > > > > >\n>> > > > > >\n>> https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/perfetto_simple_producer\n>> > > > > >\n>> > > > >\n>> > > > > This looks interesting, and the perfetto UI viewer tool [0] looks\n>> good too.\n>> > > > >\n>> > > > > [0] https://ui.perfetto.dev/\n>> > > > >\n>> > > > > Could you summarise some instructions on how to test this please?\n>> > > > > A good visualisation for libcamera internals would be great. I\n>> would\n>> > > > > love to see this able to switch between showing what each thread /\n>> > > > > component is busy processing, or have the timeline present the\n>> progress\n>> > > > > of Requests through the system.\n>> > > > >\n>> > > > > > Harvey Yang (1):\n>> > > > > >   Use tracing with perfetto in ChromeOS\n>> > > > > >\n>> > > > > >  include/libcamera/internal/tracepoints.h.in   | 37 +++++++++--\n>> > > > > >  .../internal/tracepoints/meson.build          | 25 ++++---\n>> > > > > >  .../internal/tracepoints/pipeline.perfetto    | 10 +++\n>> > > > > >  .../internal/tracepoints/request.perfetto     | 30 +++++++++\n>> > > > > >  meson.build                                   |  1 +\n>> > > > > >  src/android/cros/camera3_hal.cpp              |  5 ++\n>> > > > > >  src/android/cros/meson.build                  |  1 +\n>> > > > > >  src/libcamera/meson.build                     | 18 ++++-\n>> > > > > >  src/libcamera/pipeline_perfetto.cpp           | 22 +++++++\n>> > > > > >  src/libcamera/request_perfetto.cpp            | 65\n>> +++++++++++++++++++\n>> > > > > >  src/libcamera/tracepoints.cpp                 | 11 ++++\n>> > > > > >  11 files changed, 209 insertions(+), 16 deletions(-)\n>> > > > > >  create mode 100644\n>> include/libcamera/internal/tracepoints/pipeline.perfetto\n>> > > > > >  create mode 100644\n>> include/libcamera/internal/tracepoints/request.perfetto\n>> > > > > >  create mode 100644 src/libcamera/pipeline_perfetto.cpp\n>> > > > > >  create mode 100644 src/libcamera/request_perfetto.cpp\n>>\n>> --\n>> Regards,\n>>\n>> Laurent Pinchart\n>>\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 61D61BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  1 Nov 2022 03:06:34 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B946963019;\n\tTue,  1 Nov 2022 04:06:33 +0100 (CET)","from mail-wr1-x432.google.com (mail-wr1-x432.google.com\n\t[IPv6:2a00:1450:4864:20::432])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 835D863019\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  1 Nov 2022 04:06:31 +0100 (CET)","by mail-wr1-x432.google.com with SMTP id a14so18467652wru.5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 31 Oct 2022 20:06:31 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1667271993;\n\tbh=l+/81VQvb/bsUv6bIUq1w9rueMWWI6zR3YlDOyBUWr4=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=ERdLsdU0j0dWchdQJUvuEbJq8Grc9+ZQBo978pWxjRrFctI10kCNc5PHtvTHHdhqH\n\tgT9Zw+Rc895w1sM5RtGpU5MZtaurXlOcDlWwQK/mubYCGxJVOJ4IAxAJJoYBoBqfqY\n\tU5Yon7naXnkXCP2EYCN3ma13TyivbcEPmC5d0UU2ohmkzPfu9N64A4ZHVZcWxmepi8\n\tN8FxKG1SG7EOXVWFmsl4e4eOz8a4X//s0oFlIDuuOD5QyyiNqegJoGiBrRNI2iUxU5\n\tmm9dYxbtxr9hhyTo0/rsYZdTQHvYUY2jjGm+02eJDrDvP9pnzTwXu6T6MvkLPcvkma\n\td/DEznqJK2dgA==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=oHHT6F8TWuU9xzXls0QDATrwrOb6ds/zMBRFeBJc+pk=;\n\tb=WhKIJoHfWSQxEOXJTaFcw16Be9sH6BiLDmu6JsBm5T4vrdx/bZRgf2ttSxWOwAPU4S\n\tn4JkDhplLt8s3NKUXFYM9p80M/Qrsn1+6rYbvQ/gFeIueIN45rIBEVCHdGQJcsMevQG6\n\tKqAcbjl6iAam1+qoddYLBItgkIvMPQbDRQtEw="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=chromium.org\n\theader.i=@chromium.org header.b=\"WhKIJoHf\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=oHHT6F8TWuU9xzXls0QDATrwrOb6ds/zMBRFeBJc+pk=;\n\tb=AWZaoPfmZ2bOQ7NT6Kp7TVz/M8fRNGqlsocZyPXEWTOgJ9lXqjjSBKYo9sehBzVJve\n\tyicYaMA/OEBxuOWFgsqMGrJIdNb2/AicsU19k0r7PLIjgP7n73Xsd75tUbSI7zAuWcMC\n\tzwBdstV7wEBAwrFnvaWXQLNYW3kmuaxM8B81P/36H32LxfWINBxNe6THJd3DN/ZKvR1k\n\tA4H9f3Mk5I5JJsEp3L2/1Jk1Wq7bRlYQ5eMlX7fNDIDjngLvqN1fV5Zvb867yWXhLVnf\n\trHCP3yUUSFbTyntvuT86JMTqBIGLvRJR28kBfmpHvqOXvbiKf7dkkBC1dc0L7I/d3Dtc\n\t820g==","X-Gm-Message-State":"ACrzQf3BTvwuQyCWJKxSnNG8yMf78NqUp5iSYGW69NQIt+Kz+/ihwUIV\n\tFQCn3tl8YDwQfmMeXqI/kIpL3iU72zQzebzRZq/7rw==","X-Google-Smtp-Source":"AMsMyM5/l7VuRdmewXc5aRZchvvfTrcSEIk7z9bZXNnVxIxt87UEExHeLPpMGfG0sQIylq42VNLaTKtyr4Q+VG0Ks4Y=","X-Received":"by 2002:a05:6000:18c7:b0:22e:5503:9c46 with SMTP id\n\tw7-20020a05600018c700b0022e55039c46mr9490808wrq.668.1667271991020;\n\tMon, 31 Oct 2022 20:06:31 -0700 (PDT)","MIME-Version":"1.0","References":"<20220615142051.450396-1-chenghaoyang@google.com>\n\t<165814495194.2021905.14592276931430061491@Monstersaurus>\n\t<CAEB1ahsKzQr-HgNtkBkCg9RsuQVNpzcCcBE8oyD=9Okn29bqiQ@mail.gmail.com>\n\t<YtfBh1wfI79/rJvt@pendragon.ideasonboard.com>\n\t<CAEB1ahvpd0HYH-306DTaQeJ=i2mz4xM3Pr4+pf75mLv9M_oGfw@mail.gmail.com>\n\t<Ytfa9DNJyxvogF/t@pendragon.ideasonboard.com>\n\t<CAEB1ahszCepGxJDdFRRgxOHG1MxrRzrxC9CgtmoNGoo7up6UpQ@mail.gmail.com>","In-Reply-To":"<CAEB1ahszCepGxJDdFRRgxOHG1MxrRzrxC9CgtmoNGoo7up6UpQ@mail.gmail.com>","Date":"Tue, 1 Nov 2022 12:06:20 +0900","Message-ID":"<CAEB1ahu8+ndnmggv_Bm7aOk2JFJJibpU0kzPFyeSGvSjw8LOng@mail.gmail.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Content-Type":"multipart/alternative; boundary=\"000000000000c4e25305ec60029f\"","Subject":"Re: [libcamera-devel] [PATCH 0/1] Use tracing with perfetto in\n\tChromeOS","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Cheng-Hao Yang via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Cheng-Hao Yang <chenghaoyang@chromium.org>","Cc":"Harvey Yang <chenghaoyang@google.com>,\n\tlibcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]