X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fbootchart%2Fsvg.c;h=4c78abda63af2e3d80d2c7fb342e3188b67a6d1f;hp=f8a37768733490866aa8ab91740031097ed4cee3;hb=e90f9fa4d1cab6f73fc502fe9ef705c1bb2912a0;hpb=650001c6f7532601a9e5f685c348dae9541352cf
diff --git a/src/bootchart/svg.c b/src/bootchart/svg.c
index f8a377687..4c78abda6 100644
--- a/src/bootchart/svg.c
+++ b/src/bootchart/svg.c
@@ -267,6 +267,20 @@ static void svg_graph_box(int height)
}
}
+/* xml comments must not contain "--" */
+static char* xml_comment_encode(const char* name) {
+ char *enc_name, *p;
+
+ enc_name = strdup(name);
+ if (!enc_name)
+ return NULL;
+
+ for (p = enc_name; *p; p++)
+ if (p[0] == '-' && p[1] == '-')
+ p[1] = '_';
+
+ return enc_name;
+}
static void svg_pss_graph(void)
{
@@ -369,7 +383,7 @@ static void svg_pss_graph(void)
top = bottom + ps->sample[i].pss;
/* draw a label with the process / PID */
if ((i == 1) || (ps->sample[i - 1].pss <= (100 * scale_y)))
- svg(" %s [%i]\n",
+ svg(" [%i]\n",
time_to_graph(sampletime[i] - graph_start),
kb_to_graph(1000000.0 - bottom - ((top - bottom) / 2)),
ps->name,
@@ -383,10 +397,17 @@ static void svg_pss_graph(void)
svg("\n\n\n");
ps = ps_first;
while (ps->next_ps) {
+ char _cleanup_free_*enc_name;
ps = ps->next_ps;
if (!ps)
continue;
- svg("\n", ps->name, ps->pid,
+ svg("\n", enc_name, ps->pid,
ps->ppid, ps->total);
/* it would be nice if we could use exec_start from /proc/pid/sched,
@@ -898,7 +925,7 @@ static void svg_ps_bars(void)
w = ps->first;
/* text label of process name */
- svg(" %s [%i] %.03fs\n",
+ svg(" [%i]%.03fs\n",
time_to_graph(sampletime[w] - graph_start) + 5.0,
ps_to_graph(j) + 14.0,
ps->name,
@@ -1002,7 +1029,7 @@ static void svg_top_ten_cpu(void)
svg("Top CPU consumers:\n");
for (n = 0; n < 10; n++)
- svg("%3.03fs - %s[%d]\n",
+ svg("%3.03fs - [%d]\n",
20 + (n * 13),
top[n]->total,
top[n]->name,
@@ -1037,7 +1064,7 @@ static void svg_top_ten_pss(void)
svg("Top PSS consumers:\n");
for (n = 0; n < 10; n++)
- svg("%dK - %s[%d]\n",
+ svg("%dK - [%d]\n",
20 + (n * 13),
top[n]->pss_max,
top[n]->name,