All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3][v4] Fix task buildstats gathering
@ 2016-02-23 12:58 Elliot Smith
  2016-02-23 12:58 ` [PATCH 1/3] toaster.bbclass: improve how we gather buildstats for Toaster Elliot Smith
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Elliot Smith @ 2016-02-23 12:58 UTC (permalink / raw)
  To: toaster

v4:

I messed up the patch submission, so I'm sending the correct patches this time.

v3:

Only show a single navigation item in the left-hand nav panel for CPU times,
but show both System and User time columns when it is selected.

Add a test for CPU time subpage.

v2:

Store "started" and "ended" times for each task. (This will enable other
improvements later, such as showing when tasks overlap each other.)
Compute elapsed_time from start and end times, rather than in
toaster.bbclass.

Store disk IO in two extra fields, one for read and the other for write.
Compute total disk_io from these two values.

(elapsed_time and disk_io are still stored, as these are used for sorting
and we can't easily sort on a computed field. This can be amended when we
get round to putting the tasks table into ToasterTable; see
https://bugzilla.yoctoproject.org/show_bug.cgi?id=8363.)

Modify the UI to show the CPU times split between system and user.

v1:

Our buildstats gathering for tasks (CPU usage, Disk IO etc.) is broken, partly because of changes to how the data is organised in the buildstats files, and partly because tasks aren't being updated correctly anyway.

Clean up the code which collects the buildstats (it had lots of duplication), collect the stats from the new stat file format (some line leaders had changed), and correctly identify the Task objects to update in BuildInfoHelper.

To test:

1. Remove the content of the directories which cache tasks to see the best effects (I usually delete buildstats, tmp, sstate-cache, and cache, just to be safe).

2. Run a build against a local Yocto (as one patch is for toaster.bbclass).

3. When the build finishes, view the "Tasks" page for the build and enable the "Disk IO" and "CPU usage" columns. Note that some CPU usage percentages are > 100, as discussed in bug 8842.

Changes since 961893fa05f4d51187f4d5daadacd7927d1a0847 (toaster-next) are in
git://git.yoctoproject.org/poky-contrib, elliot/toaster/build_data-8842
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=elliot/toaster/build_data-8842

Related bug:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=8842

NOTE: The first commit in this series is for oe-core.

Elliot Smith (3):
  toaster.bbclass: improve how we gather buildstats for Toaster
  toaster: rework task buildstats storage and display
  toaster-tests: add test for cputime subpage

 bitbake/lib/bb/ui/buildinfohelper.py               | 72 ++++++++++------------
 .../orm/migrations/0005_task_field_separation.py   | 48 +++++++++++++++
 bitbake/lib/toaster/orm/models.py                  | 18 +++++-
 .../toastergui/templates/basebuildpage.html        |  4 +-
 .../lib/toaster/toastergui/templates/tasks.html    | 20 +++---
 bitbake/lib/toaster/toastergui/tests.py            | 45 +++++++++++++-
 bitbake/lib/toaster/toastergui/urls.py             |  2 +-
 bitbake/lib/toaster/toastergui/views.py            | 55 +++++++++++------
 meta/classes/toaster.bbclass                       | 70 +++++++++++++--------
 9 files changed, 237 insertions(+), 97 deletions(-)
 create mode 100644 bitbake/lib/toaster/orm/migrations/0005_task_field_separation.py

--
Elliot Smith
Software Engineer
Intel OTC

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



^ permalink raw reply	[flat|nested] 12+ messages in thread
* [PATCH 0/3][v7] Fix task buildstats gathering
@ 2016-03-07 12:21 Elliot Smith
  2016-03-07 12:21 ` [PATCH 1/3] toaster.bbclass: improve how we gather buildstats for Toaster Elliot Smith
  0 siblings, 1 reply; 12+ messages in thread
From: Elliot Smith @ 2016-03-07 12:21 UTC (permalink / raw)
  To: toaster

v7:

Changes by others necessitated a rebase.

v6:

Fix comments on function which converts started and ended time to a datetime
(values are seconds, not milliseconds).

Modify the task page:

- Show the split CPU times (User and System).
- Format Disk IO as done on the tasks page (with commas).
- Disk IO value is now in bytes, so modify heading.

v5:

Fixed an error where the started and ended times for a task were treated as being
in milliseconds, when they are in seconds.

v4:

I messed up the patch submission, so I'm sending the correct patches this time.

v3:

Only show a single navigation item in the left-hand nav panel for CPU times,
but show both System and User time columns when it is selected.

Add a test for CPU time subpage.

v2:

Store "started" and "ended" times for each task. (This will enable other
improvements later, such as showing when tasks overlap each other.)
Compute elapsed_time from start and end times, rather than in
toaster.bbclass.

Store disk IO in two extra fields, one for read and the other for write.
Compute total disk_io from these two values.

(elapsed_time and disk_io are still stored, as these are used for sorting
and we can't easily sort on a computed field. This can be amended when we
get round to putting the tasks table into ToasterTable; see
https://bugzilla.yoctoproject.org/show_bug.cgi?id=8363.)

Modify the UI to show the CPU times split between system and user.

v1:

Our buildstats gathering for tasks (CPU usage, Disk IO etc.) is broken, partly because of changes to how the data is organised in the buildstats files, and partly because tasks aren't being updated correctly anyway.

Clean up the code which collects the buildstats (it had lots of duplication), collect the stats from the new stat file format (some line leaders had changed), and correctly identify the Task objects to update in BuildInfoHelper.

To test:

1. Remove the content of the directories which cache tasks to see the best effects (I usually delete buildstats, tmp, sstate-cache, and cache, just to be safe).

2. Run a build against a local Yocto (as one patch is for toaster.bbclass).

3. When the build finishes, view the "Tasks" page for the build and enable the "Disk IO" and "CPU usage" columns. Note that some CPU usage percentages are > 100, as discussed in bug 8842.

Changes since c5194851573c91c0aab8fe4c549086037daf2370 (toaster-next) are in
git://git.yoctoproject.org/poky-contrib, elliot/toaster/build_data-8842
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=elliot/toaster/build_data-8842

Related bug:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=8842

Elliot Smith (3):
  toaster.bbclass: improve how we gather buildstats for Toaster
  toaster: rework task buildstats storage and display
  toaster-tests: add test for cputime subpage

 bitbake/lib/bb/ui/buildinfohelper.py               | 72 ++++++++++------------
 .../orm/migrations/0005_task_field_separation.py   | 48 +++++++++++++++
 bitbake/lib/toaster/orm/models.py                  | 18 +++++-
 .../toastergui/templates/basebuildpage.html        |  4 +-
 bitbake/lib/toaster/toastergui/templates/task.html | 23 ++++---
 .../lib/toaster/toastergui/templates/tasks.html    | 20 +++---
 bitbake/lib/toaster/toastergui/tests.py            | 45 +++++++++++++-
 bitbake/lib/toaster/toastergui/urls.py             |  2 +-
 bitbake/lib/toaster/toastergui/views.py            | 55 +++++++++++------
 meta/classes/toaster.bbclass                       | 70 +++++++++++++--------
 10 files changed, 252 insertions(+), 105 deletions(-)
 create mode 100644 bitbake/lib/toaster/orm/migrations/0005_task_field_separation.py

--
Elliot Smith
Software Engineer
Intel OTC

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



^ permalink raw reply	[flat|nested] 12+ messages in thread
* [PATCH 0/3][v6] Fix task buildstats gathering
@ 2016-02-24 11:15 Elliot Smith
  2016-02-24 11:15 ` [PATCH 1/3] toaster.bbclass: improve how we gather buildstats for Toaster Elliot Smith
  0 siblings, 1 reply; 12+ messages in thread
From: Elliot Smith @ 2016-02-24 11:15 UTC (permalink / raw)
  To: toaster

v6:

Fix comments on function which converts started and ended time to a datetime
(values are seconds, not milliseconds).

Modify the task page:

- Show the split CPU times (User and System).
- Format Disk IO as done on the tasks page (with commas).
- Disk IO value is now in bytes, so modify heading.

v5:

Fixed an error where the started and ended times for a task were treated as being
in milliseconds, when they are in seconds.

v4:

I messed up the patch submission, so I'm sending the correct patches this time.

v3:

Only show a single navigation item in the left-hand nav panel for CPU times,
but show both System and User time columns when it is selected.

Add a test for CPU time subpage.

v2:

Store "started" and "ended" times for each task. (This will enable other
improvements later, such as showing when tasks overlap each other.)
Compute elapsed_time from start and end times, rather than in
toaster.bbclass.

Store disk IO in two extra fields, one for read and the other for write.
Compute total disk_io from these two values.

(elapsed_time and disk_io are still stored, as these are used for sorting
and we can't easily sort on a computed field. This can be amended when we
get round to putting the tasks table into ToasterTable; see
https://bugzilla.yoctoproject.org/show_bug.cgi?id=8363.)

Modify the UI to show the CPU times split between system and user.

v1:

Our buildstats gathering for tasks (CPU usage, Disk IO etc.) is broken, partly because of changes to how the data is organised in the buildstats files, and partly because tasks aren't being updated correctly anyway.

Clean up the code which collects the buildstats (it had lots of duplication), collect the stats from the new stat file format (some line leaders had changed), and correctly identify the Task objects to update in BuildInfoHelper.

To test:

1. Remove the content of the directories which cache tasks to see the best effects (I usually delete buildstats, tmp, sstate-cache, and cache, just to be safe).

2. Run a build against a local Yocto (as one patch is for toaster.bbclass).

3. When the build finishes, view the "Tasks" page for the build and enable the "Disk IO" and "CPU usage" columns. Note that some CPU usage percentages are > 100, as discussed in bug 8842.

Changes since a6d307c(toaster-next) are in
git://git.yoctoproject.org/poky-contrib, elliot/toaster/build_data-8842
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=elliot/toaster/build_data-8842

Related bug:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=8842


Elliot Smith (3):
  toaster.bbclass: improve how we gather buildstats for Toaster
  toaster: rework task buildstats storage and display
  toaster-tests: add test for cputime subpage

 bitbake/lib/bb/ui/buildinfohelper.py               | 72 ++++++++++------------
 .../orm/migrations/0005_task_field_separation.py   | 48 +++++++++++++++
 bitbake/lib/toaster/orm/models.py                  | 18 +++++-
 .../toastergui/templates/basebuildpage.html        |  4 +-
 bitbake/lib/toaster/toastergui/templates/task.html | 23 ++++---
 .../lib/toaster/toastergui/templates/tasks.html    | 20 +++---
 bitbake/lib/toaster/toastergui/tests.py            | 45 +++++++++++++-
 bitbake/lib/toaster/toastergui/urls.py             |  2 +-
 bitbake/lib/toaster/toastergui/views.py            | 55 +++++++++++------
 meta/classes/toaster.bbclass                       | 70 +++++++++++++--------
 10 files changed, 252 insertions(+), 105 deletions(-)
 create mode 100644 bitbake/lib/toaster/orm/migrations/0005_task_field_separation.py

--
Elliot Smith
Software Engineer
Intel OTC

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



^ permalink raw reply	[flat|nested] 12+ messages in thread
* [PATCH 0/3][v5] Fix task buildstats gathering
@ 2016-02-23 18:17 Elliot Smith
  2016-02-23 18:17 ` [PATCH 1/3] toaster.bbclass: improve how we gather buildstats for Toaster Elliot Smith
  0 siblings, 1 reply; 12+ messages in thread
From: Elliot Smith @ 2016-02-23 18:17 UTC (permalink / raw)
  To: toaster

v5:

Fixed an error where the started and ended times for a task were treated as being
in milliseconds, when they are in seconds.

v4:

I messed up the patch submission, so I'm sending the correct patches this time.

v3:

Only show a single navigation item in the left-hand nav panel for CPU times,
but show both System and User time columns when it is selected.

Add a test for CPU time subpage.

v2:

Store "started" and "ended" times for each task. (This will enable other
improvements later, such as showing when tasks overlap each other.)
Compute elapsed_time from start and end times, rather than in
toaster.bbclass.

Store disk IO in two extra fields, one for read and the other for write.
Compute total disk_io from these two values.

(elapsed_time and disk_io are still stored, as these are used for sorting
and we can't easily sort on a computed field. This can be amended when we
get round to putting the tasks table into ToasterTable; see
https://bugzilla.yoctoproject.org/show_bug.cgi?id=8363.)

Modify the UI to show the CPU times split between system and user.

v1:

Our buildstats gathering for tasks (CPU usage, Disk IO etc.) is broken, partly because of changes to how the data is organised in the buildstats files, and partly because tasks aren't being updated correctly anyway.

Clean up the code which collects the buildstats (it had lots of duplication), collect the stats from the new stat file format (some line leaders had changed), and correctly identify the Task objects to update in BuildInfoHelper.

To test:

1. Remove the content of the directories which cache tasks to see the best effects (I usually delete buildstats, tmp, sstate-cache, and cache, just to be safe).

2. Run a build against a local Yocto (as one patch is for toaster.bbclass).

3. When the build finishes, view the "Tasks" page for the build and enable the "Disk IO" and "CPU usage" columns. Note that some CPU usage percentages are > 100, as discussed in bug 8842.

Changes since a6d307c (toaster-next) are in
git://git.yoctoproject.org/poky-contrib, elliot/toaster/build_data-8842
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=elliot/toaster/build_data-8842

Related bug:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=8842

Elliot Smith (3):
  toaster.bbclass: improve how we gather buildstats for Toaster
  toaster: rework task buildstats storage and display
  toaster-tests: add test for cputime subpage

 bitbake/lib/bb/ui/buildinfohelper.py               | 72 ++++++++++------------
 .../orm/migrations/0005_task_field_separation.py   | 48 +++++++++++++++
 bitbake/lib/toaster/orm/models.py                  | 18 +++++-
 .../toastergui/templates/basebuildpage.html        |  4 +-
 .../lib/toaster/toastergui/templates/tasks.html    | 20 +++---
 bitbake/lib/toaster/toastergui/tests.py            | 45 +++++++++++++-
 bitbake/lib/toaster/toastergui/urls.py             |  2 +-
 bitbake/lib/toaster/toastergui/views.py            | 55 +++++++++++------
 meta/classes/toaster.bbclass                       | 70 +++++++++++++--------
 9 files changed, 237 insertions(+), 97 deletions(-)
 create mode 100644 bitbake/lib/toaster/orm/migrations/0005_task_field_separation.py

--
Elliot Smith
Software Engineer
Intel OTC

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



^ permalink raw reply	[flat|nested] 12+ messages in thread
* [PATCH 0/3][v3] Fix task buildstats gathering
@ 2016-02-23 12:56 Elliot Smith
  2016-02-23 12:56 ` [PATCH 1/3] toaster.bbclass: improve how we gather buildstats for Toaster Elliot Smith
  0 siblings, 1 reply; 12+ messages in thread
From: Elliot Smith @ 2016-02-23 12:56 UTC (permalink / raw)
  To: toaster

v3:

Only show a single navigation item in the left-hand nav panel for CPU times,
but show both System and User time columns when it is selected.

Add a test for CPU time subpage.

v2:

Store "started" and "ended" times for each task. (This will enable other
improvements later, such as showing when tasks overlap each other.)
Compute elapsed_time from start and end times, rather than in
toaster.bbclass.

Store disk IO in two extra fields, one for read and the other for write.
Compute total disk_io from these two values.

(elapsed_time and disk_io are still stored, as these are used for sorting
and we can't easily sort on a computed field. This can be amended when we
get round to putting the tasks table into ToasterTable; see
https://bugzilla.yoctoproject.org/show_bug.cgi?id=8363.)

Modify the UI to show the CPU times split between system and user.

v1:

Our buildstats gathering for tasks (CPU usage, Disk IO etc.) is broken, partly because of changes to how the data is organised in the buildstats files, and partly because tasks aren't being updated correctly anyway.

Clean up the code which collects the buildstats (it had lots of duplication), collect the stats from the new stat file format (some line leaders had changed), and correctly identify the Task objects to update in BuildInfoHelper.

To test:

1. Remove the content of the directories which cache tasks to see the best effects (I usually delete buildstats, tmp, sstate-cache, and cache, just to be safe).

2. Run a build against a local Yocto (as one patch is for toaster.bbclass).

3. When the build finishes, view the "Tasks" page for the build and enable the "Disk IO" and "CPU usage" columns. Note that some CPU usage percentages are > 100, as discussed in bug 8842.

Changes since 961893fa05f4d51187f4d5daadacd7927d1a0847 (toaster-next) are in
git://git.yoctoproject.org/poky-contrib, elliot/toaster/build_data-8842
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=elliot/toaster/build_data-8842

Related bug:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=8842

NOTE: The first commit in this series is for oe-core.

Elliot Smith (3):
  toaster.bbclass: improve how we gather buildstats for Toaster
  toaster: rework task buildstats storage and display
  toaster-tests: add test for cputime subpage

 bitbake/lib/bb/ui/buildinfohelper.py               | 72 ++++++++++------------
 .../orm/migrations/0005_task_field_separation.py   | 48 +++++++++++++++
 bitbake/lib/toaster/orm/models.py                  | 18 +++++-
 .../toastergui/templates/basebuildpage.html        |  4 +-
 .../lib/toaster/toastergui/templates/tasks.html    | 20 +++---
 bitbake/lib/toaster/toastergui/tests.py            | 45 +++++++++++++-
 bitbake/lib/toaster/toastergui/urls.py             |  2 +-
 bitbake/lib/toaster/toastergui/views.py            | 55 +++++++++++------
 meta/classes/toaster.bbclass                       | 70 +++++++++++++--------
 9 files changed, 237 insertions(+), 97 deletions(-)
 create mode 100644 bitbake/lib/toaster/orm/migrations/0005_task_field_separation.py

--
Elliot Smith
Software Engineer
Intel OTC

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-03-07 19:26 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-23 12:58 [PATCH 0/3][v4] Fix task buildstats gathering Elliot Smith
2016-02-23 12:58 ` [PATCH 1/3] toaster.bbclass: improve how we gather buildstats for Toaster Elliot Smith
2016-02-23 12:58 ` [PATCH 2/3] toaster: rework task buildstats storage and display Elliot Smith
2016-02-23 12:58 ` [PATCH 3/3] toaster-tests: add test for cputime subpage Elliot Smith
2016-02-23 14:29 ` [PATCH 0/3][v4] Fix task buildstats gathering Barros Pena, Belen
2016-02-23 17:55   ` Smith, Elliot
  -- strict thread matches above, loose matches on Subject: below --
2016-03-07 12:21 [PATCH 0/3][v7] " Elliot Smith
2016-03-07 12:21 ` [PATCH 1/3] toaster.bbclass: improve how we gather buildstats for Toaster Elliot Smith
2016-03-07 18:39   ` Michael Wood
2016-03-07 19:26     ` Smith, Elliot
2016-02-24 11:15 [PATCH 0/3][v6] Fix task buildstats gathering Elliot Smith
2016-02-24 11:15 ` [PATCH 1/3] toaster.bbclass: improve how we gather buildstats for Toaster Elliot Smith
2016-02-23 18:17 [PATCH 0/3][v5] Fix task buildstats gathering Elliot Smith
2016-02-23 18:17 ` [PATCH 1/3] toaster.bbclass: improve how we gather buildstats for Toaster Elliot Smith
2016-02-23 12:56 [PATCH 0/3][v3] Fix task buildstats gathering Elliot Smith
2016-02-23 12:56 ` [PATCH 1/3] toaster.bbclass: improve how we gather buildstats for Toaster Elliot Smith

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.