From patchwork Fri Jul 22 12:00:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cheng-Hao Yang X-Patchwork-Id: 16731 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id B9E29BE173 for ; Fri, 22 Jul 2022 12:00:39 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id DB0D26330F; Fri, 22 Jul 2022 14:00:38 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1658491238; bh=eG5ahJ6BBdq+xWk4A7aCqqLKHGTtYmOHFjLE6APFj8w=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=dPOWK78GLGDZjRAowX91IJAJHsaTitEkNdXhYAIJQRcW6eo4+4G1sM6IrcFl2YlyV 8PqNoSpC46rVhiEhyYWdWI4/cWOy5thT5/MBjYmxmYWwPcpKY2sPoZhkQZjVWxjY83 V6DcZFouIBE0WlKw6nhxNtn64dRRmlnopsYQuxYH6HHxX402RsFoBTHzauDGlGX/CE kK1Wdb7bUOKWid1jj8O1zQeXLKLTvZf1Qx/aurfp2Kw7oy9+F5ytHPp8jfRFbZ6Xbo TT7wkcsZxjQfz3Z6lz8mrmTgQfJuLmMkURMrsc1lK26TeJGT8sbQ+bhZbJgFEIvccG 0aaUASLYM0mWg== Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id DBD92601B8 for ; Fri, 22 Jul 2022 14:00:36 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="YzWtDMXT"; dkim-atps=neutral Received: by mail-pl1-x631.google.com with SMTP id z3so4408095plb.1 for ; Fri, 22 Jul 2022 05:00:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=JvsoN9lmwTv0wNvWiPilyuVa90Z2ynW4Wkb0tVTQASw=; b=YzWtDMXT8wGe7tfNWtbXmcVg1bxKUjDpWRHzbg3T+IbmFTnvKcEIgluzgCf2SjVND2 iSCszj38znagv2W+Yxo4RuZQ2ba1ET78jojrUNqwYRxkH2kCMNr29DS+BH1fFpTfCAtp g850GFZWYauB7vx2LvsiDBhfp1mt281mEzhk4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=JvsoN9lmwTv0wNvWiPilyuVa90Z2ynW4Wkb0tVTQASw=; b=MyNHsKyDK/onybe++tcvdCETWiJ8aamrerkrVaOY2UHUXZQHJYE8XZSRZelvqhnlmn w93mCVbuKgt1vgLMKwBjgnn3kNvQ+73zFbX4W4+gmGPNUPQ72rASZ7wg2Zm9eFPgO/hm JseJ6ES3TCnPugvwx92llftUIe+fTMvyMyt1jXKcuhbRNeB/xaNDoEc+k5awbftk9nOn Z/lco6m4uEz30nibuIqYaY9GarKnoZKzraddjz878f+As2YlpnW29PeKhrA5umbEspqP ldnJw5kWlmFwlDqpYnbUsjYnctt9pvDkieEh1y3tEYP+CXP/sMc88DPcYws0rl9QP5uA p+Mw== X-Gm-Message-State: AJIora/DNBtFof6IRNDnGV2tDHEQzEXCWdc0XajBJHtOHZVOL2eQR6vW JbbbN9opJUewFpY6SPSBM0/ihIO7HuYDtg== X-Google-Smtp-Source: AGRyM1veJcHr8j6DLfGtRDLWLKP5JhVIiQMcsTtlwoRTT47FHD4MMK3MB2CfObuDFP1Hs9Doll2BmQ== X-Received: by 2002:a17:902:f64f:b0:16c:23c2:e2dd with SMTP id m15-20020a170902f64f00b0016c23c2e2ddmr101048plg.3.1658491234655; Fri, 22 Jul 2022 05:00:34 -0700 (PDT) Received: from chenghaoyang-low.c.googlers.com.com (231.137.80.34.bc.googleusercontent.com. [34.80.137.231]) by smtp.gmail.com with ESMTPSA id h5-20020a170902b94500b001635b86a790sm3540021pls.44.2022.07.22.05.00.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Jul 2022 05:00:33 -0700 (PDT) X-Google-Original-From: Harvey Yang To: libcamera-devel@lists.libcamera.org Date: Fri, 22 Jul 2022 12:00:27 +0000 Message-Id: <20220722120028.3155712-1-chenghaoyang@google.com> X-Mailer: git-send-email 2.37.1.359.gd136c6c3e2-goog MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2 0/1] Use tracing with perfetto in ChromeOS X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Harvey Yang via libcamera-devel From: Cheng-Hao Yang Reply-To: Harvey Yang Cc: Harvey Yang Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hi all, This is the second 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. Thanks to Kieran's and Laurent's comments, I've updated the doc: `tracing.rst`, which includes the instructions to test with perfetto trace enabled. Please try and see how it goes. I'm not sure if it's proper to split up the patch, as most of the changes are dependent to each other... Please give me some suggestions :) BR, Harvey Harvey Yang (1): Use tracing with perfetto in ChromeOS Documentation/guides/tracing.rst | 114 ++++++++++++++---- include/libcamera/internal/tracepoints.h.in | 37 +++++- .../internal/tracepoints/meson.build | 25 ++-- .../internal/tracepoints/pipeline.perfetto | 10 ++ .../internal/tracepoints/request.perfetto | 30 +++++ meson.build | 7 +- src/android/cros/camera3_hal.cpp | 5 + src/android/cros/meson.build | 1 + src/libcamera/meson.build | 14 ++- src/libcamera/pipeline_perfetto.cpp | 24 ++++ src/libcamera/request_perfetto.cpp | 73 +++++++++++ src/libcamera/tracepoints.cpp | 11 ++ 12 files changed, 312 insertions(+), 39 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