X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fanalyze%2Fsystemd-analyze.c;fp=src%2Fanalyze%2Fsystemd-analyze.c;h=49484a83bc3f6a24b57df3fc862e4bcefcd952a5;hp=2dab158fcb105327d16c2197183ee1eb6bcd25af;hb=2f6eb835ca05816142899188a3c9da30d3138efe;hpb=ffaa0e2503ea20899f20a87bcd074637ba0811eb diff --git a/src/analyze/systemd-analyze.c b/src/analyze/systemd-analyze.c index 2dab158fc..49484a83b 100644 --- a/src/analyze/systemd-analyze.c +++ b/src/analyze/systemd-analyze.c @@ -34,6 +34,9 @@ #include "strxcpyx.h" #include "fileio.h" +#define SCALE_X (0.1 / 1000.0) /* pixels per us */ +#define SCALE_Y 20.0 + #define compare(a, b) (((a) > (b))? 1 : (((b) > (a))? -1 : 0)) #define svg(...) printf(__VA_ARGS__) @@ -41,12 +44,12 @@ #define svg_bar(class, x1, x2, y) \ svg(" \n", \ (class), \ - scale_x * (x1), scale_y * (y), \ - scale_x * ((x2) - (x1)), scale_y - 1.0) + SCALE_X * (x1), SCALE_Y * (y), \ + SCALE_X * ((x2) - (x1)), SCALE_Y - 1.0) #define svg_text(b, x, y, format, ...) \ do { \ - svg(" ", (b) ? "left" : "right", scale_x * (x) + (b ? 5.0 : -5.0), scale_y * (y) + 14.0); \ + svg(" ", (b) ? "left" : "right", SCALE_X * (x) + (b ? 5.0 : -5.0), SCALE_Y * (y) + 14.0); \ svg(format, ## __VA_ARGS__); \ svg("\n"); \ } while(false) @@ -58,9 +61,6 @@ static enum dot { DEP_REQUIRE } arg_dot = DEP_ALL; -static double scale_x = 0.1 / 1000.0; /* pixels per us */ -static double scale_y = 20.0; - struct boot_times { usec_t firmware_time; usec_t loader_time; @@ -358,21 +358,21 @@ static void svg_graph_box(double height, double begin, double end) { /* outside box, fill */ svg("\n", - scale_x * (end - begin), scale_y * height); + SCALE_X * (end - begin), SCALE_Y * height); for (i = ((long long) (begin / 100000)) * 100000; i <= end; i+=100000) { /* lines for each second */ if (i % 5000000 == 0) svg(" \n" " %.01fs\n", - scale_x * i, scale_x * i, scale_y * height, scale_x * i, -5.0, 0.000001 * i); + SCALE_X * i, SCALE_X * i, SCALE_Y * height, SCALE_X * i, -5.0, 0.000001 * i); else if (i % 1000000 == 0) svg(" \n" " %.01fs\n", - scale_x * i, scale_x * i, scale_y * height, scale_x * i, -5.0, 0.000001 * i); + SCALE_X * i, SCALE_X * i, SCALE_Y * height, SCALE_X * i, -5.0, 0.000001 * i); else svg(" \n", - scale_x * i, scale_x * i, scale_y * height); + SCALE_X * i, SCALE_X * i, SCALE_Y * height); } } @@ -402,7 +402,7 @@ static int analyze_plot(DBusConnection *bus) { qsort(times, n, sizeof(struct unit_times), compare_unit_start); - width = scale_x * (boot->firmware_time + boot->finish_time); + width = SCALE_X * (boot->firmware_time + boot->finish_time); if (width < 800.0) width = 800.0; @@ -427,7 +427,7 @@ static int analyze_plot(DBusConnection *bus) { u->name = NULL; continue; } - len = ((boot->firmware_time + u->ixt) * scale_x) + len = ((boot->firmware_time + u->ixt) * SCALE_X) + (10.0 * strlen(u->name)); if (len > width) width = len; @@ -450,7 +450,7 @@ static int analyze_plot(DBusConnection *bus) { svg("\n\n", - 80.0 + width, 150.0 + (m * scale_y)); + 80.0 + width, 150.0 + (m * SCALE_Y)); /* write some basic info as a comment, including some help */ svg("\n" @@ -487,9 +487,9 @@ static int analyze_plot(DBusConnection *bus) { isempty(osname) ? "Linux" : osname, name.nodename, name.release, name.version, name.machine); svg("Legend: Red = Activating; Pink = Active; Dark Pink = Deactivating", - 120.0 + (m *scale_y)); + 120.0 + (m *SCALE_Y)); - svg("\n", 20.0 + (scale_x * boot->firmware_time)); + svg("\n", 20.0 + (SCALE_X * boot->firmware_time)); svg_graph_box(m, -boot->firmware_time, boot->finish_time); if (boot->firmware_time) { @@ -526,7 +526,7 @@ static int analyze_plot(DBusConnection *bus) { svg_bar("active", u->aet, u->axt, y); svg_bar("deactivating", u->axt, u->iet, y); - if (u->ixt * scale_x > width * 2 / 3) + if (u->ixt * SCALE_X > width * 2 / 3) svg_text(false, u->ixt, y, u->time? "%s (%s)" : "%s", u->name, format_timespan(ts, sizeof(ts), u->time)); else svg_text(true, u->ixt, y, u->time? "%s (%s)" : "%s", u->name, format_timespan(ts, sizeof(ts), u->time));