<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>10622</bug_id>
          
          <creation_ts>2016-11-08 15:04:00 +0000</creation_ts>
          <short_desc>buildstats: use JSON format</short_desc>
          <delta_ts>2025-03-13 14:58:28 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>devtools / tool chain</component>
          <version>2.2</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>   </status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>Future</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Markus Lehtonen">markus.lehtonen</reporter>
          <assigned_to name="Unassigned">unassigned</assigned_to>
          <cc>bluelightning</cc>
    
    <cc>joshuagloe</cc>
    
    <cc>markus.lehtonen</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>randy.macleod</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>ross.burton</cc>
    
    <cc>tim.orling</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>68089</commentid>
    <comment_count>0</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-11-08 15:04:00 +0000</bug_when>
    <thetext>It would be easier to consume buildstats if they were stored in some other format that per-task text files. I would propose using one (per-build) json-formatted file that would contain all tasks from all recipes.

That would make buildstats a lot faster and easier to read. It would also be nicer on the filesystem level to have one file instead of thousands of them per build. Oe-build-perf-test script is already converting existing buildstats into json so we could use that format.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68091</commentid>
    <comment_count>1</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-11-08 15:09:20 +0000</bug_when>
    <thetext>The format could look like this

[
    {
        &quot;name&quot;: &quot;bc-native&quot;,
        &quot;epoch&quot;: null,
        &quot;version&quot;: &quot;1.06&quot;
        &quot;revision&quot;: &quot;r3&quot;,
        &quot;tasks&quot;: {
            &quot;do_compile&quot;: {
                &quot;child_rusage&quot;: {
                    &quot;ru_inblock&quot;: 0,
                    &quot;ru_majflt&quot;: 0,
                    &quot;ru_maxrss&quot;: 55212,
                    &quot;ru_minflt&quot;: 80968,
                    &quot;ru_nivcsw&quot;: 907,
                    &quot;ru_nvcsw&quot;: 320,
                    &quot;ru_oublock&quot;: 912,
                    &quot;ru_stime&quot;: 0.21015299999999998,
                    &quot;ru_utime&quot;: 1.9195280000000001
                },
                &quot;elapsed_time&quot;: 2.120001,
                &quot;iostat&quot;: {
                    &quot;cancelled_write_bytes&quot;: 4096,
                    &quot;rchar&quot;: 12604928,
                    &quot;read_bytes&quot;: 0,
                    &quot;syscr&quot;: 3553,
                    &quot;syscw&quot;: 707,
                    &quot;wchar&quot;: 885406,
                    &quot;write_bytes&quot;: 503808
                },
                &quot;rusage&quot;: {
                    &quot;ru_inblock&quot;: 0,
                    &quot;ru_majflt&quot;: 0,
                    &quot;ru_maxrss&quot;: 58512,
                    &quot;ru_minflt&quot;: 4503,
                    &quot;ru_nivcsw&quot;: 19,
                    &quot;ru_nvcsw&quot;: 83,
                    &quot;ru_oublock&quot;: 72,
                    &quot;ru_stime&quot;: 0.011193,
                    &quot;ru_utime&quot;: 0.192331
                },
                &quot;start_time&quot;: 1475630641.599999,
                &quot;status&quot;: &quot;PASSED&quot;
            },
            &quot;do_configure&quot;: {
                    ...
            },
            ...
    },
    {
        &quot;name&quot;: &quot;dbus-glib-native&quot;,
        ...
    },
    ...
]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73076</commentid>
    <comment_count>2</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2017-05-05 10:09:37 +0000</bug_when>
    <thetext>Moving to 2.4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83207</commentid>
    <comment_count>3</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2019-03-07 15:55:36 +0000</bug_when>
    <thetext>One concern with single or small numbers of files is concurrency and locking. The existing multiple files were done individually to avoid locking issues.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>