Messages in this thread Patch in this message |  | | Date | Sat, 30 Nov 2013 04:51:52 -0800 | From | tip-bot for Stanislav Fomichev <> | Subject | [tip:perf/core] perf timechart: Group figures and add title with details |
| |
Commit-ID: cbb2e81e5232b1bca5cd2aa1d7a7eb1cd30f8304 Gitweb: http://git.kernel.org/tip/cbb2e81e5232b1bca5cd2aa1d7a7eb1cd30f8304 Author: Stanislav Fomichev <stfomichev@yandex-team.ru> AuthorDate: Fri, 1 Nov 2013 20:25:49 +0400 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitDate: Wed, 27 Nov 2013 14:58:37 -0300
perf timechart: Group figures and add title with details
Add titles to figures so we can run SVG interactively in Firefox and check event details in the tooltips.
This also aids exploring SVG with Inkscape because when user clicks on one part of logical figure, all parts are selected.
It's also possible to read titles with Inkscape in the object details.
Signed-off-by: Stanislav Fomichev <stfomichev@yandex-team.ru> Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1383323151-19810-6-git-send-email-stfomichev@yandex-team.ru Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> --- tools/perf/builtin-timechart.c | 6 ++--- tools/perf/util/svghelper.c | 56 ++++++++++++++++++++++++++++++++++++++++-- tools/perf/util/svghelper.h | 5 ++-- 3 files changed, 60 insertions(+), 7 deletions(-)
diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c index b3f175a..6a848b8 100644 --- a/tools/perf/builtin-timechart.c +++ b/tools/perf/builtin-timechart.c @@ -798,11 +798,11 @@ static void draw_process_bars(void) sample = c->samples; while (sample) { if (sample->type == TYPE_RUNNING) - svg_sample(Y, sample->cpu, sample->start_time, sample->end_time); + svg_running(Y, sample->cpu, sample->start_time, sample->end_time); if (sample->type == TYPE_BLOCKED) - svg_box(Y, sample->start_time, sample->end_time, "blocked"); + svg_blocked(Y, sample->cpu, sample->start_time, sample->end_time); if (sample->type == TYPE_WAITING) - svg_waiting(Y, sample->start_time, sample->end_time); + svg_waiting(Y, sample->cpu, sample->start_time, sample->end_time); sample = sample->next; } diff --git a/tools/perf/util/svghelper.c b/tools/perf/util/svghelper.c index 96c8660..9a5b413 100644 --- a/tools/perf/util/svghelper.c +++ b/tools/perf/util/svghelper.c @@ -95,6 +95,7 @@ void open_svg(const char *filename, int cpus, int rows, u64 start, u64 end) total_height = (1 + rows + cpu2slot(cpus)) * SLOT_MULT; fprintf(svgfile, "<?xml version=\"1.0\" standalone=\"no\"?> \n"); + fprintf(svgfile, "<!DOCTYPE svg SYSTEM \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n"); fprintf(svgfile, "<svg width=\"%i\" height=\"%" PRIu64 "\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n", svg_page_width, total_height); fprintf(svgfile, "<defs>\n <style type=\"text/css\">\n < |