Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp9878409rwd; Wed, 21 Jun 2023 13:05:50 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7RUOxf1vZXJalx+C493agQheJH8A12hEZYVlJVuVOxU+KLiOeDIc0fHo3vzCaZNhjTucr9 X-Received: by 2002:a17:903:2451:b0:1b3:c7c7:74ae with SMTP id l17-20020a170903245100b001b3c7c774aemr15372194pls.45.1687377949961; Wed, 21 Jun 2023 13:05:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687377949; cv=none; d=google.com; s=arc-20160816; b=HX7bQUnqzceInIp49OkcfzzOHeTFXFyNvyOXjFLLvjI1/2vnsM7beXqQXdlChT39l8 ARf0n5/MqxtKzJcChBwvKqh0McRU3fH7kf6820kwd6AeZx6Fe7K15Sp1ZxG+doAibiYg iSG4nlwoXLetESwwewZM+ub712mcGThQx4xwJlsFWBZv/OKhND15P8B2Wjl/lfD8Jo/W sKl+YhX354lN+pt8qVUbxRLzoVXdUJ2+eAhKGU+mxBtvRZ9+0kpR/bXW9ULMEQ6PyEl9 Fcc/sDiUI5052yoSy/6Iqo3jhbRI6Xk10iJq6s4tegttz7bk+nk00wWf+ANw5BkZh+4+ UK4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-disposition:mime-version:message-id :subject:to:from:date:dkim-signature; bh=8vUyZ7pvZFvTax/yPxI3TKMDV88xCJbdm/hiSAJgg4Q=; b=iyuJCjAs+9oQ8zXWqDv6N+OEcak4vkiYD2c5R5RUZqw38SkdtbsEQ/9X41ubrqxsN9 OpnhzdMFMnjQsHj2vztN74kLpe+PgmWqB23mYd4fBajtRwIyTFghK03prDb9coFKhztq g9l2+NdJCV6SHPd8lDT6DZrQYPGdF+VVCzXHVaTMaAXrGTsxgguXPjDhLorXhWyjhT43 qTTtWqCTors23cRPtXXQlT7sByhOe4MpKtZD6gUFY1JFVkFsO5OnxrSqdvoHNuBcBeUB GotBthNRsbDjJ9X1QPInbBx52ZJczENV+5F+2mTzXiznMdZ1lruiIXaQd3PM9u1UakUc YklA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=fLWnNmx0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z11-20020a170903018b00b001b546440895si5702159plg.72.2023.06.21.13.05.26; Wed, 21 Jun 2023 13:05:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=fLWnNmx0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229756AbjFUTfs (ORCPT + 99 others); Wed, 21 Jun 2023 15:35:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33816 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230129AbjFUTfj (ORCPT ); Wed, 21 Jun 2023 15:35:39 -0400 Received: from mail-pf1-x432.google.com (mail-pf1-x432.google.com [IPv6:2607:f8b0:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7473610F2; Wed, 21 Jun 2023 12:35:34 -0700 (PDT) Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-668709767b1so2954305b3a.2; Wed, 21 Jun 2023 12:35:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687376134; x=1689968134; h=content-disposition:mime-version:message-id:subject:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=8vUyZ7pvZFvTax/yPxI3TKMDV88xCJbdm/hiSAJgg4Q=; b=fLWnNmx0Qan8RyeQSDp5zcYGGw8zVNhJKZ5TSpDffkOiCJeoz5sfZ4T4rrWZQhqZlL QmgLFhJitHhAl51lY2YVycXWXz0WO/hLtBhUh+DRyEHOP+8xb1ubT7/A3Uh6Yzui52Kr bqZ8gPL6DP2pt7ioZ1z1pS2N+RbP/PdL6C52jnQGMHlp477KYFp0wroDOQaQTK2Rly/6 k58sXwoMJzMyZpHmYg6g5BkUV1fBB2BMaWJWhuYRm1BJ2EmR+XJ7ux5vG6pKyHN2ExEG Vh4b6EoF0/wDZJwi3HF/fsIioSSNyNXcgLerj1Z5kEdF5iiHlmMhhdGXq/O2NchdWmy9 hMuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687376134; x=1689968134; h=content-disposition:mime-version:message-id:subject:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=8vUyZ7pvZFvTax/yPxI3TKMDV88xCJbdm/hiSAJgg4Q=; b=a5czkz+4NUkO8ELe073Mt0ikFFWPfkCCdlZOQfSOphkthgs8Ljg0SUx7X9/4VXo66Z ypvYC7gC1vZB2GfrWZcj1IG/vaWgr7j2rowUL8QsPB0PSBI+Y86Ps1EbyTqJtf6wWKAm 7YokFfhhewj3/2MhngN2I1KQyzu0D0Htx22znB0GL3O1/KL+xQoaTZ87odcC8hlnkOW6 jyiplJ1ndzsIumXXRCMy4mxxGZUoXiA80L4RQlyKB8nImCkd0Ni+SIJQjRg2HC+E6lyY XIKxgUVj8DczBMozijDtCKaHDxAYeLJz/4Jks+i5P1T/+I1ySczCrXzG21jVmTCCc4qR fX4w== X-Gm-Message-State: AC+VfDwpcJKsnoY1LaMviNvUcCwCf3Ig6AP2+xyFqQOGJksEicFLGRDh gy7N5jdLqZa1hS22PHzedyw= X-Received: by 2002:a05:6a00:1483:b0:65d:d5cd:6f17 with SMTP id v3-20020a056a00148300b0065dd5cd6f17mr18077523pfu.24.1687376133736; Wed, 21 Jun 2023 12:35:33 -0700 (PDT) Received: from yoga ([2400:1f00:13:6258:556c:aad7:2240:7612]) by smtp.gmail.com with ESMTPSA id j25-20020a62e919000000b00662610cf7a8sm3333028pfh.172.2023.06.21.12.35.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Jun 2023 12:35:33 -0700 (PDT) Date: Thu, 22 Jun 2023 01:05:26 +0530 From: Anup Sharma To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Anup Sharma , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/9] Add support for Firefox's gecko profile format Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch series adds support for Firefox's gecko profile format. The format is documented here [1] The series adds a new python script that can be used to convert the perf script to gecko profile format. To use this script, use the following commands: perf record perf script -F +pid > perf_data.txt python3 firefox-gecko-converter.py > gecko_profile.json Also dont forget to change the chown of the output file to the user[2]. [1] https://github.com/firefox-devtools/profiler/blob/main/docs-developer/gecko-profile-format.md [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1823421 Anup Sharma (9): scripts: python: Add check for correct perf script format scripts: python: implement add sample function and return it scripts: python: Introduce thread sample processing in convertPerfScriptProfile scripts: python: Implement parsing of input data in convertPerfScriptProfile scripts: python: implement function for thread creation scripts: python: implement get or create stack function scripts: python: implement get or create frame function scripts: python: Finalize convertPerfScriptProfile and return profile data scripts: python: Add temporary main function for testing purposes .../scripts/python/firefox-gecko-converter.py | 249 ++++++++++++++++++ 1 file changed, 249 insertions(+) create mode 100644 tools/perf/scripts/python/firefox-gecko-converter.py -- 2.34.1