<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in gecko-record</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>f9f72b2a - perf scripts python: Add command execution for gecko script</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/scripts/python/bin/gecko-record#f9f72b2a</link>
        <description>perf scripts python: Add command execution for gecko scriptThis will enable the execution of gecko.py script using record andreport commands in &apos;perf script&apos;.  And this will be also reflected at&quot;perf script -l&quot; command.For Example:    perf script record gecko    perf script report geckoCommitter notes:As discussed on the perf tools office hours, I made -F 99 the defaultfor the record script and removed the double -- on the report script sothat the existing &apos;perf script&apos; protocol for the combined operation:    # perf script geckoWorks, i.e. the record script pipes its stdout into the stdin of thereport script, basically:  /bin/sh /usr/libexec/perf-core/scripts/python/bin/gecko-record -F 99 -g -a -q -o - | \  /bin/sh /usr/libexec/perf-core/scripts/python/bin/gecko-report -i -Testing it:The resulting JSON file needs to be uploaded tohttps://profiler.firefox.com, Anup already has code to start a localhttp server on the trace_begin handler of the gecko python script, startfirefox and feed it the JSON.The example below only collects sample for the specified workload, sothat we don&apos;t produce thousands of lines, to collect system widesamples, use instead:  # perf script gecko -a sleep 0.5  # nohup perf script gecko sleep 0.5  {    &quot;meta&quot;: {      &quot;interval&quot;: 1,      &quot;processType&quot;: 0,      &quot;product&quot;: &quot;x86_64 GNU/Linux&quot;,      &quot;stackwalk&quot;: 1,      &quot;debug&quot;: 0,      &quot;gcpoison&quot;: 0,      &quot;asyncstack&quot;: 1,      &quot;startTime&quot;: 274601692.636,      &quot;shutdownTime&quot;: null,      &quot;version&quot;: 24,      &quot;presymbolicated&quot;: true,      &quot;categories&quot;: [        {          &quot;name&quot;: &quot;User&quot;,          &quot;color&quot;: &quot;yellow&quot;,          &quot;subcategories&quot;: [            &quot;Other&quot;          ]        },        {          &quot;name&quot;: &quot;Kernel&quot;,          &quot;color&quot;: &quot;orange&quot;,          &quot;subcategories&quot;: [            &quot;Other&quot;          ]        }      ],      &quot;markerSchema&quot;: []    },    &quot;libs&quot;: [],    &quot;threads&quot;: [      {        &quot;tid&quot;: 3344498,        &quot;pid&quot;: 3344498,        &quot;name&quot;: &quot;sleep&quot;,        &quot;markers&quot;: {          &quot;schema&quot;: {            &quot;name&quot;: 0,            &quot;startTime&quot;: 1,            &quot;endTime&quot;: 2,            &quot;phase&quot;: 3,            &quot;category&quot;: 4,            &quot;data&quot;: 5          },          &quot;data&quot;: []        },        &quot;samples&quot;: {          &quot;schema&quot;: {            &quot;stack&quot;: 0,            &quot;time&quot;: 1,            &quot;responsiveness&quot;: 2          },          &quot;data&quot;: [            [              21,              274601692.636,              0            ],            [              23,              274601692.641,              0            ],            [              29,              274601692.643,              0            ],            [              42,              274601692.648,              0            ]          ]        },        &quot;frameTable&quot;: {          &quot;schema&quot;: {            &quot;location&quot;: 0,            &quot;relevantForJS&quot;: 1,            &quot;innerWindowID&quot;: 2,            &quot;implementation&quot;: 3,            &quot;optimizations&quot;: 4,            &quot;line&quot;: 5,            &quot;column&quot;: 6,            &quot;category&quot;: 7,            &quot;subcategory&quot;: 8          },          &quot;data&quot;: [            [              0,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              1,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              2,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              3,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              4,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              5,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              6,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              7,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              8,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              9,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              10,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              11,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              12,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              13,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              14,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              15,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              16,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              17,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              18,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              19,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              20,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              21,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              22,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              23,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              24,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              25,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              26,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              27,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              28,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              29,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              30,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              31,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              32,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              33,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              34,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              35,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              36,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              37,              false,              0,              null,              null,              null,              null,              1,              null            ],            [              38,              false,              0,              null,              null,              null,              null,              1,              null            ]          ]        },        &quot;stackTable&quot;: {          &quot;schema&quot;: {            &quot;prefix&quot;: 0,            &quot;frame&quot;: 1          },          &quot;data&quot;: [            [              null,              0            ],            [              0,              1            ],            [              1,              2            ],            [              2,              3            ],            [              3,              4            ],            [              4,              5            ],            [              5,              6            ],            [              6,              7            ],            [              7,              8            ],            [              8,              9            ],            [              9,              10            ],            [              10,              11            ],            [              11,              12            ],            [              12,              13            ],            [              13,              14            ],            [              14,              15            ],            [              15,              16            ],            [              16,              17            ],            [              17,              18            ],            [              18,              19            ],            [              19,              20            ],            [              20,              21            ],            [              20,              22            ],            [              22,              23            ],            [              11,              24            ],            [              24,              25            ],            [              25,              26            ],            [              26,              27            ],            [              27,              28            ],            [              28,              29            ],            [              9,              11            ],            [              30,              24            ],            [              31,              25            ],            [              32,              30            ],            [              33,              31            ],            [              34,              32            ],            [              35,              29            ],            [              36,              33            ],            [              37,              34            ],            [              38,              35            ],            [              39,              36            ],            [              40,              37            ],            [              41,              38            ]          ]        },        &quot;stringTable&quot;: [          &quot;__func__.0 (in [kernel.kallsyms].rodata)&quot;,          &quot;perf_trace_ext4_fc_track_inode (in [kernel.kallsyms])&quot;,          &quot;perf_trace_ext4_es_insert_delayed_block (in [kernel.kallsyms])&quot;,          &quot;ext4_es_show_pblock (in [kernel.kallsyms])&quot;,          &quot;perf_trace_ext4_ext_rm_leaf (in [kernel.kallsyms])&quot;,          &quot;devcgroup_access_write (in [kernel.kallsyms])&quot;,          &quot;devcgroup_update_access (in [kernel.kallsyms])&quot;,          &quot;propagate_exception (in [kernel.kallsyms])&quot;,          &quot;revalidate_active_exceptions (in [kernel.kallsyms])&quot;,          &quot;perf_trace_ext4_fc_commit_stop (in [kernel.kallsyms])&quot;,          &quot;perf_fetch_caller_regs (in [kernel.kallsyms])&quot;,          &quot;khugepaged (in [kernel.kallsyms])&quot;,          &quot;khugepaged_wait_work (in [kernel.kallsyms])&quot;,          &quot;freezable_schedule_timeout (in [kernel.kallsyms])&quot;,          &quot;freezer_count (in [kernel.kallsyms])&quot;,          &quot;try_to_freeze (in [kernel.kallsyms])&quot;,          &quot;try_to_freeze_unsafe (in [kernel.kallsyms])&quot;,          &quot;split_huge_pages_write (in [kernel.kallsyms])&quot;,          &quot;migrate_pages (in [kernel.kallsyms])&quot;,          &quot;unmap_and_move (in [kernel.kallsyms])&quot;,          &quot;__unmap_and_move (in [kernel.kallsyms])&quot;,          &quot;collect_events (in [kernel.kallsyms])&quot;,          &quot;uncore_down_prepare (in [kernel.kallsyms])&quot;,          &quot;perf_iommu_read (in [kernel.kallsyms])&quot;,          &quot;khugepaged_do_scan (in [kernel.kallsyms])&quot;,          &quot;khugepaged_scan_mm_slot (in [kernel.kallsyms])&quot;,          &quot;khugepaged_scan_file (in [kernel.kallsyms])&quot;,          &quot;need_resched (in [kernel.kallsyms])&quot;,          &quot;get_current (in [kernel.kallsyms])&quot;,          &quot;move_to_new_page (in [kernel.kallsyms])&quot;,          &quot;khugepaged_scan_pmd (in [kernel.kallsyms])&quot;,          &quot;trace_mm_khugepaged_scan_pmd (in [kernel.kallsyms])&quot;,          &quot;migrate_huge_page_move_mapping (in [kernel.kallsyms])&quot;,          &quot;do_huge_pmd_numa_page (in [kernel.kallsyms])&quot;,          &quot;pmd_pfn (in [kernel.kallsyms])&quot;,          &quot;protnone_mask (in [kernel.kallsyms])&quot;,          &quot;__pte_needs_invert (in [kernel.kallsyms])&quot;,          &quot;reclaim_high (in [kernel.kallsyms])&quot;,          &quot;memcg_memory_event (in [kernel.kallsyms])&quot;        ],        &quot;registerTime&quot;: 0,        &quot;unregisterTime&quot;: null,        &quot;processType&quot;: &quot;default&quot;      }    ],    &quot;processes&quot;: [],    &quot;pausedRanges&quot;: []  }  #Signed-off-by: Anup Sharma &lt;anupnewsmail@gmail.com&gt;Tested-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Ian Rogers &lt;irogers@google.com&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Link: https://lore.kernel.org/r/cbf03cda175ea3dd2c6cd87bd3f12d803446cb95.1689961706.git.anupnewsmail@gmail.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/scripts/python/bin/gecko-record</description>
        <pubDate>Fri, 21 Jul 2023 17:57:46 +0000</pubDate>
        <dc:creator>Anup Sharma &lt;anupnewsmail@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
