]> granicus.if.org Git - sysstat/commitdiff
sadf: SVG: Use activities identification number for id tags
authorSebastien GODARD <sysstat@users.noreply.github.com>
Fri, 8 Jun 2018 08:09:53 +0000 (10:09 +0200)
committerSebastien GODARD <sysstat@users.noreply.github.com>
Fri, 8 Jun 2018 08:09:53 +0000 (10:09 +0200)
Signed-off-by: Sebastien GODARD <sysstat@users.noreply.github.com>
svg_stats.c

index eba4f085d79958980af68f03eb3d7d0b17259489..bece1ca470bc1b6eb668576efe6c93c6b82344c0 100644 (file)
@@ -858,11 +858,14 @@ void skip_current_view(char **out, int *pos, int group)
  * @skip_void  Set to <> 0 if graphs with no data should be skipped.
  *             This is typicallly used to not display CPU offline on the
  *             whole period.
+ * @id         Current activity id.
+ * @xid                Current activity extra id number.
  ***************************************************************************
  */
 void draw_activity_graphs(int g_nr, int g_type[], char *title[], char *g_title[], char *item_name,
                          int group[], double *spmin, double *spmax, char **out, int *outsize,
-                         struct svg_parm *svg_p, struct record_header *record_hdr, int skip_void)
+                         struct svg_parm *svg_p, struct record_header *record_hdr, int skip_void,
+                         unsigned int id, unsigned int xid)
 {
        char *out_p;
        int i, j, dp, pos = 0, views_nr = 0;
@@ -873,8 +876,8 @@ void draw_activity_graphs(int g_nr, int g_type[], char *title[], char *g_title[]
        char val[32], cur_date[TIMESTAMP_LEN];
 
        /* Translate to proper position for current activity */
-       printf("<g id=\"g%d\" transform=\"translate(0,%d)\">\n",
-              svg_p->graph_no,
+       printf("<g id=\"g%d-%d\" transform=\"translate(0,%d)\">\n",
+              id, xid,
               SVG_H_YSIZE + svg_p->graph_no * SVG_T_YSIZE);
 
        /* For each view which is part of current activity */
@@ -1311,13 +1314,13 @@ __print_funct_t svg_print_cpu_stats(struct activity *a, int curr, int action, st
                                draw_activity_graphs(a->g_nr, g_type,
                                                     title, g_title1, item_name, group1,
                                                     spmin + pos, spmax + pos, out + pos, outsize + pos,
-                                                    svg_p, record_hdr, i);
+                                                    svg_p, record_hdr, i, a->id, i);
                        }
                        else {
                                draw_activity_graphs(a->g_nr, g_type,
                                                     title, g_title2, item_name, group2,
                                                     spmin + pos, spmax + pos, out + pos, outsize + pos,
-                                                    svg_p, record_hdr, i);
+                                                    svg_p, record_hdr, i, a->id, i);
                        }
                }
 
@@ -1382,7 +1385,7 @@ __print_funct_t svg_print_pcsw_stats(struct activity *a, int curr, int action, s
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -1444,7 +1447,7 @@ __print_funct_t svg_print_swap_stats(struct activity *a, int curr, int action, s
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -1532,7 +1535,7 @@ __print_funct_t svg_print_paging_stats(struct activity *a, int curr, int action,
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -1619,7 +1622,7 @@ __print_funct_t svg_print_io_stats(struct activity *a, int curr, int action, str
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -1844,13 +1847,13 @@ __print_funct_t svg_print_memory_stats(struct activity *a, int curr, int action,
                if (DISPLAY_MEMORY(a->opt_flags)) {
                        draw_activity_graphs(DISPLAY_MEM_ALL(a->opt_flags) ? 6 : 5,
                                             g_type1, title1, g_title1, NULL, group1,
-                                            spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                            spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
                }
 
                if (DISPLAY_SWAP(a->opt_flags)) {
                        draw_activity_graphs(3, g_type2, title2, g_title2, NULL, group2,
                                             spmin + 16, spmax + 16, out + 16, outsize + 16,
-                                            svg_p, record_hdr, FALSE);
+                                            svg_p, record_hdr, FALSE, a->id, 1);
                }
 
                /* Free remaining structures */
@@ -1921,7 +1924,7 @@ __print_funct_t svg_print_ktables_stats(struct activity *a, int curr, int action
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -2005,7 +2008,7 @@ __print_funct_t svg_print_queue_stats(struct activity *a, int curr, int action,
                *(spmin + 5) /= 100; *(spmax + 5) /= 100;
 
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -2250,7 +2253,7 @@ __print_funct_t svg_print_disk_stats(struct activity *a, int curr, int action, s
                        draw_activity_graphs(a->g_nr, g_type,
                                             title, g_title, item_name, group,
                                             spmin + pos, spmax + pos, out + pos, outsize + pos,
-                                            svg_p, record_hdr, FALSE);
+                                            svg_p, record_hdr, FALSE, a->id, i);
                }
 
                /* Free remaining structures */
@@ -2461,7 +2464,7 @@ __print_funct_t svg_print_net_dev_stats(struct activity *a, int curr, int action
                        draw_activity_graphs(a->g_nr, g_type,
                                             title, g_title, item_name, group,
                                             spmin + pos, spmax + pos, out + pos, outsize + pos,
-                                            svg_p, record_hdr, FALSE);
+                                            svg_p, record_hdr, FALSE, a->id, i);
                }
 
                /* Free remaining structures */
@@ -2661,7 +2664,7 @@ __print_funct_t svg_print_net_edev_stats(struct activity *a, int curr, int actio
                        draw_activity_graphs(a->g_nr, g_type,
                                             title, g_title, item_name, group,
                                             spmin + pos, spmax + pos, out + pos, outsize + pos,
-                                            svg_p, record_hdr, FALSE);
+                                            svg_p, record_hdr, FALSE, a->id, i);
                }
 
                /* Free remaining structures */
@@ -2744,7 +2747,7 @@ __print_funct_t svg_print_net_nfs_stats(struct activity *a, int curr, int action
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -2850,7 +2853,7 @@ __print_funct_t svg_print_net_nfsd_stats(struct activity *a, int curr, int actio
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -2928,7 +2931,7 @@ __print_funct_t svg_print_net_sock_stats(struct activity *a, int curr, int actio
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -3017,7 +3020,7 @@ __print_funct_t svg_print_net_ip_stats(struct activity *a, int curr, int action,
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -3107,7 +3110,7 @@ __print_funct_t svg_print_net_eip_stats(struct activity *a, int curr, int action
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -3223,7 +3226,7 @@ __print_funct_t svg_print_net_icmp_stats(struct activity *a, int curr, int actio
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -3334,7 +3337,7 @@ __print_funct_t svg_print_net_eicmp_stats(struct activity *a, int curr, int acti
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -3406,7 +3409,7 @@ __print_funct_t svg_print_net_tcp_stats(struct activity *a, int curr, int action
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -3482,7 +3485,7 @@ __print_funct_t svg_print_net_etcp_stats(struct activity *a, int curr, int actio
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -3554,7 +3557,7 @@ __print_funct_t svg_print_net_udp_stats(struct activity *a, int curr, int action
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -3623,7 +3626,7 @@ __print_funct_t svg_print_net_sock6_stats(struct activity *a, int curr, int acti
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -3723,7 +3726,7 @@ __print_funct_t svg_print_net_ip6_stats(struct activity *a, int curr, int action
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -3828,7 +3831,7 @@ __print_funct_t svg_print_net_eip6_stats(struct activity *a, int curr, int actio
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -3958,7 +3961,7 @@ __print_funct_t svg_print_net_icmp6_stats(struct activity *a, int curr, int acti
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -4065,7 +4068,7 @@ __print_funct_t svg_print_net_eicmp6_stats(struct activity *a, int curr, int act
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -4137,7 +4140,7 @@ __print_funct_t svg_print_net_udp6_stats(struct activity *a, int curr, int actio
 
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type, title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -4235,7 +4238,7 @@ __print_funct_t svg_print_pwr_cpufreq_stats(struct activity *a, int curr, int ac
                        draw_activity_graphs(a->g_nr, g_type,
                                             title, g_title, item_name, group,
                                             spmin + i, spmax + i, out + i, outsize + i,
-                                            svg_p, record_hdr, i);
+                                            svg_p, record_hdr, i, a->id, i);
                }
 
                /* Free remaining structures */
@@ -4308,7 +4311,7 @@ __print_funct_t svg_print_pwr_fan_stats(struct activity *a, int curr, int action
                        draw_activity_graphs(a->g_nr, g_type,
                                             title, g_title, item_name, group,
                                             spmin + i, spmax + i, out + i, outsize + i,
-                                            svg_p, record_hdr, FALSE);
+                                            svg_p, record_hdr, FALSE, a->id, i);
                }
 
                /* Free remaining structures */
@@ -4402,7 +4405,7 @@ __print_funct_t svg_print_pwr_temp_stats(struct activity *a, int curr, int actio
                        draw_activity_graphs(a->g_nr, g_type,
                                             title, g_title, item_name, group,
                                             spmin + 2 * i, spmax + 2 * i, out + 2 * i, outsize + 2 * i,
-                                            svg_p, record_hdr, FALSE);
+                                            svg_p, record_hdr, FALSE, a->id, i);
                }
 
                /* Free remaining structures */
@@ -4496,7 +4499,7 @@ __print_funct_t svg_print_pwr_in_stats(struct activity *a, int curr, int action,
                        draw_activity_graphs(a->g_nr, g_type,
                                             title, g_title, item_name, group,
                                             spmin + 2 * i, spmax + 2 * i, out + 2 * i, outsize + 2 * i,
-                                            svg_p, record_hdr, FALSE);
+                                            svg_p, record_hdr, FALSE, a->id, i);
                }
 
                /* Free remaining structures */
@@ -4582,7 +4585,7 @@ __print_funct_t svg_print_huge_stats(struct activity *a, int curr, int action, s
        if (action & F_END) {
                draw_activity_graphs(a->g_nr, g_type,
                                     title, g_title, NULL, group,
-                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE);
+                                    spmin, spmax, out, outsize, svg_p, record_hdr, FALSE, a->id, 0);
 
                /* Free remaining structures */
                free_graphs(out, outsize, spmin, spmax);
@@ -4817,7 +4820,7 @@ __print_funct_t svg_print_filesystem_stats(struct activity *a, int curr, int act
 
                        draw_activity_graphs(a->g_nr, g_type, title, g_title, item_name, group,
                                             spmin + pos, spmax + pos, out + pos, outsize + pos,
-                                            svg_p, record_hdr, FALSE);
+                                            svg_p, record_hdr, FALSE, a->id, i);
                }
 
                /* Free remaining structures */
@@ -5000,7 +5003,7 @@ __print_funct_t svg_print_fchost_stats(struct activity *a, int curr, int action,
                        draw_activity_graphs(a->g_nr, g_type,
                                             title, g_title, item_name, group,
                                             spmin + pos, spmax + pos, out + pos, outsize + pos,
-                                            svg_p, record_hdr, FALSE);
+                                            svg_p, record_hdr, FALSE, a->id, i);
                }
 
                /* Free remaining structures */
@@ -5121,7 +5124,7 @@ __print_funct_t svg_print_softnet_stats(struct activity *a, int curr, int action
                        draw_activity_graphs(a->g_nr, g_type,
                                             title, g_title, item_name, group,
                                             spmin + pos, spmax + pos, out + pos, outsize + pos,
-                                            svg_p, record_hdr, FALSE);
+                                            svg_p, record_hdr, FALSE, a->id, i);
                }
 
                /* Free remaining structures */