]> granicus.if.org Git - sysstat/commitdiff
SVG: Display grid on the whole width of the graph
authorSebastien GODARD <sysstat@users.noreply.github.com>
Wed, 7 Feb 2018 13:29:05 +0000 (14:29 +0100)
committerSebastien GODARD <sysstat@users.noreply.github.com>
Wed, 7 Feb 2018 13:29:05 +0000 (14:29 +0100)
For very small files with just a few samples taken at a few seconds apart
(e.g. 15 samples taken at 1 second interval) the background grid was not
drawn on the whole width of the graph.
Fix this.

Signed-off-by: Sebastien GODARD <sysstat@users.noreply.github.com>
svg_stats.c

index 6b618fe8e8188249851f7b44d120bc4096120e8d..524b249aeec69fea1e3985ca2b2da89fb7255105 100644 (file)
@@ -657,7 +657,8 @@ void display_hgrid(double ypos, double yfactor, double lmax, int dp)
  * IN:
  * @xpos       Gap between two vertical lines.
  * @xfactor    Scaling factor on X axis.
- * @v_gridnr   Number of vertical lines to display.
+ * @v_gridnr   Default number of vertical lines to display. The actual
+ *             number may vary between this value and 2 times this value.
  * @svg_p      SVG specific parameters (see draw_activity_graphs() function).
  ***************************************************************************
  */
@@ -670,7 +671,12 @@ void display_vgrid(long int xpos, double xfactor, int v_gridnr, struct svg_parm
 
        stamp.ust_time = svg_p->ust_time_ref; /* Only ust_time field needs to be set. TRUE_TIME not allowed */
 
-       for (j = 0; (j <= v_gridnr) && (stamp.ust_time <= svg_p->ust_time_end); j++) {
+       /*
+        * What really matters to know when we should stop drawing vertical lines
+        * is the time end. v_gridnr is only informative and used to calculate
+        * the gap between two lines.
+        */
+       for (j = 0; (j <= (2 * v_gridnr)) && (stamp.ust_time <= svg_p->ust_time_end); j++) {
 
                /* Display vertical lines */
                sa_get_record_timestamp_struct(flags, &stamp, &rectime, NULL);