Sloppy drawing, truncated text

Bug #342593 reported by Hernando Torque
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
pybootchartgui (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

Binary package hint: pybootchartgui

Chart and CPU/IO monitor drawing seems inaccurate, text from the header and the chart gets truncated (see attachment).

pybootchartgui:
  Installed: 0+r102-2
  Candidate: 0+r102-2
  Version table:
 *** 0+r102-2 0
        500 http://archive.ubuntu.com jaunty/universe Packages
        100 /var/lib/dpkg/status

Revision history for this message
Hernando Torque (htorque) wrote :
Revision history for this message
Anders Norgaard (anders-norgaard) wrote :

Hi,

> Chart and CPU/IO monitor drawing seems inaccurate,

I think you are right. Can you upload your bootchart.tar.gz data and point out what seems wrong, then I'll try to fix it.

> text from the header and the chart gets truncated

Yup. Boottimes are getting too short :o) Do you have any suggestions on how to draw it better? Smaller fonts? Line wrapping?

Best
Anders (upstream)

Revision history for this message
Hernando Torque (htorque) wrote :

* CPU/IO monitor: There are spikes that go above 100% and spikes that go below 0%. Also what's 100% with the java version of bootchart is more like 95% with pybootchartgui. I'll attach svgs for clarification.

* Chart: In the lower left side there are some dotted lines overlaying leaving a solid line. Bootchart-java didn't do that - well, a very minor cosmetic issue.

* Truncation: I had no time to go through the source code(s) but it seems bootchart-java just puts the tasks that would exceed the boot time to the left of the bar. No idea how it's managing to keep the header complete, though. Font size is good IMHO and line wrapping wouldn't work for the task text and for the header... I guess it wouldn't look very fancy. :-)

Revision history for this message
Hernando Torque (htorque) wrote :
Revision history for this message
Hernando Torque (htorque) wrote :
Revision history for this message
Hernando Torque (htorque) wrote :
Revision history for this message
Hernando Torque (htorque) wrote :
Revision history for this message
Hernando Torque (htorque) wrote :
Revision history for this message
Hernando Torque (htorque) wrote :

Just spotted another difference: the bars miss the coloring for IO and CPU load. Xmas is over, I know, but if pybootchartgui is going to replace the java part it should at least be as good as it. :-)

Revision history for this message
Anders Norgaard (anders-norgaard) wrote :

Revisions 103-106 fix

1) The spikes
2) The scaling (95% vs 100%) on disk utilization
3) Task names outside the chart
4) Coloring of the process bars

To not truncate the header I think I will just try to expand the bounding rect to keep the header inside.

Thanks for the reports.

Anders

Revision history for this message
Hernando Torque (htorque) wrote :

> Thanks for the reports.

Thanks for the fast fixes! Looks much better now.

Just one issue left apart from the truncated header: if the IO-throughput maximum is reached during the first seconds, the value will be put over the "Disk utilization" text:

http://img.xrmb2.net/images/824215.png

Bootchart-java puts it next to spike with the highest throughput:

http://img.xrmb2.net/images/121329.png

Not a perfect solution either but still better than ruining the compact layout (by adding an additional line just for the value).

Sorry, for pushing all into one bug report but since you "are" upstream, it feels unnecessary to open a new report.

Revision history for this message
Anders Norgaard (anders-norgaard) wrote :

Revisions 108 and 109 fix

108) "If the max-throughput text clashes with legend, move it down into the chart like the original bootcharts image renderer does"

109) "Have a minimum image width, like the original bootchart. To avoid truncating headers etc. for short boottimes"

Since cairo seems to need to know the width and height to create an image surface, which is needed for a cairo context, which is needed to measure text - I couldn't find a way to avoid truncating the headers without eg. drawing twice. So I opted for a minimum width like the original bootchart.

Thanks for the reports (again)
Anders

Revision history for this message
Hernando Torque (htorque) wrote :

Thanks for the fixes (again). Working fine. :)

Revision history for this message
Hernando Torque (htorque) wrote :

I've taken the liberty of setting the bug status to "Fix Committed".

Changed in pybootchartgui:
status: New → Fix Committed
Revision history for this message
Martin Mai (mrkanister-deactivatedaccount-deactivatedaccount) wrote :

I am assigning all pybootchartgui bugs to me where updating to a new revision will fix the issue.

Changed in pybootchartgui (Ubuntu):
assignee: nobody → mrkanister
Changed in pybootchartgui (Ubuntu):
importance: Undecided → Low
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pybootchartgui - 0+r124

---------------
pybootchartgui (0+r124) jaunty; urgency=low

  * New upstream revision:
    - Fix some drawing issues (lp: #342593)
    - Fix drawing bug (lp: #343215)
    - Empty bootcharts are now discovered (lp: #355952)
    - Fix incorrect seconds value for 60+ second boots (lp: #355954)
    - Fix parsing issue for process lines with spaces (lp: #356537)
    - Update slider position when zooming (lp: #358364)
    - Fix some drawing issue (lp: #360943, thanks to Hernando Torque)
  (thanks to biehl and Henning Niss for their active development)
  * debian/control:
    - Add depencies to 'python-gtk2' and 'python-cairo' (lp: #353699)

 -- Martin Mai <email address hidden> Sat, 18 Apr 2009 22:48:24 +0200

Changed in pybootchartgui (Ubuntu):
status: Fix Committed → Fix Released
Changed in pybootchartgui (Ubuntu):
assignee: mrkanister → nobody
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.