Changeset: 35efeaa0d58c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=35efeaa0d58c
Modified Files:
        clients/mapiclient/tomograph.c
Branch: default
Log Message:

Merge with Feb2013 branch.


diffs (146 lines):

diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c
--- a/clients/mapiclient/tomograph.c
+++ b/clients/mapiclient/tomograph.c
@@ -660,10 +660,10 @@ static void showmemory(void)
 {
        int i;
        lng max = 0, min = LLONG_MAX;
-       double mx, mn;
+       double mx, mn, mm;
        double scale = 1.0;
        const char * scalename = "MB";
-       int digits = 0;
+       int digits;
 
        for (i = 0; i < topbox; i++)
                if (box[i].clkend && box[i].fcn) {
@@ -676,12 +676,21 @@ static void showmemory(void)
                        if (box[i].memend < min)
                                min = box[i].memend;
                }
+       if (min == max) {
+               min -= 1;
+               max += 1;
+       }
 
        if (max >= 1024) {
                scale = 1024.0;
                scalename = "GB";
+       }
+       if (max / scale >= 100)
+               digits = 0;
+       else if (max / scale >= 10)
                digits = 1;
-       }
+       else
+               digits = 2;
 
        fprintf(gnudata, "\nset tmarg 1\n");
        fprintf(gnudata, "set bmarg 1\n");
@@ -695,9 +704,9 @@ static void showmemory(void)
        fprintf(gnudata, "unset xtics\n");
        mn = min / 1024.0;
        mx = max / 1024.0;
-       mx += (mn == mx);
-       fprintf(gnudata, "set yrange [%f:%f]\n", mn, mx);
-       fprintf(gnudata, "set ytics (\"%.*f\" %f, \"%.*f\" %f)\n", digits, min 
/ scale, mn, digits, max / scale, mx);
+       mm = (mx - mn) / 50.0; /* 2% top & bottom margin */
+       fprintf(gnudata, "set yrange [%f:%f]\n", mn - mm, mx + mm);
+       fprintf(gnudata, "set ytics (\"%.*f\" %f, \"%.*f\" %f) nomirror\n", 
digits, min / scale, mn, digits, max / scale, mx);
        fprintf(gnudata, "plot \"%s.dat\" using 1:2 notitle with dots linecolor 
rgb \"blue\"\n", (tracefile ? "scratch" : filename));
        fprintf(gnudata, "unset yrange\n");
 }
@@ -740,6 +749,7 @@ static void showio(void)
                        if (box[i].writes > max)
                                max = box[i].writes;
                }
+       max += beat;
 
 
        fprintf(gnudata, "\nset tmarg 1\n");
@@ -749,11 +759,11 @@ static void showio(void)
        fprintf(gnudata, "set size 1,0.07\n");
        fprintf(gnudata, "set origin 0.0,0.87\n");
        fprintf(gnudata, "set xrange ["LLFMT":"LLFMT"]\n", startrange, 
lastclktick - starttime);
-       fprintf(gnudata, "set yrange [1:"LLFMT"]\n", ((1.1 * max / beat) <= 2 ? 
2 : (lng) (1.1 * max / beat)));
+       fprintf(gnudata, "set yrange [0:"LLFMT"]\n", max / beat);
        fprintf(gnudata, "unset xtics\n");
        fprintf(gnudata, "unset ytics\n");
        fprintf(gnudata, "unset ylabel\n");
-       fprintf(gnudata, "set y2tics in (\""LLFMT"\" "LLFMT")\n", max / beat, 
max / beat);
+       fprintf(gnudata, "set y2tics in (0, "LLFMT") nomirror\n", max / beat);
        fprintf(gnudata, "set y2label \"IO per ms\"\n");
        fprintf(gnudata, "plot \"%s.dat\" using 1:(($3+$4)/%d.0) title 
\"reads\" with boxes fs solid linecolor rgb \"gray\" ,\\\n", (tracefile ? 
"scratch" : filename), beat);
        fprintf(gnudata, "\"%s.dat\" using 1:($4/%d.0) title \"writes\" with 
boxes fs solid linecolor rgb \"red\"  \n", (tracefile ? "scratch" : filename), 
beat);
@@ -1039,9 +1049,10 @@ static void createTomogram(void)
        int top = 0;
        int i, j;
        int h, prevobject = 1;
-       double w = (lastclktick - starttime) / 10.0;
+       lng w = lastclktick - starttime;
        lng scale;
        char *scalename;
+       int digits;
        lng totalticks;
        static int figures = 0;
 
@@ -1086,30 +1097,39 @@ static void createTomogram(void)
        fprintf(gnudata, "unset colorbox\n");
        fprintf(gnudata, "unset title\n");
 
-       if (w >= US_DD) {
+       if (w >= 10 * US_DD) {
                scale = US_DD;
-               scalename = "days";
-       } else if (w >= US_HH) {
+               scalename = "d\0\0days";
+       } else if (w >= 10 * US_HH) {
                scale = US_HH;
-               scalename = "hours";
-       } else if (w >= US_MM) {
+               scalename = "h\0\0hours";
+       } else if (w >= 10 * US_MM) {
                scale = US_MM;
-               scalename = "minutes";
+               scalename = "m\0\0minutes";
        } else if (w >= US_SS) {
                scale = US_SS;
-               scalename = "seconds";
+               scalename = "s\0\0seconds";
        } else if (w >= US_MS) {
                scale = US_MS;
-               scalename = "milliseconds";
+               scalename = "ms\0milliseconds";
        } else {
                scale = 1;
-               scalename = "microseconds";
+               scalename = "us\0microseconds";
        }
+       if (w / scale >= 1000)
+               digits = 0;
+       else if (w / scale >= 100)
+               digits = 1;
+       else if (w / scale >= 10)
+               digits = 2;
+       else
+               digits = 3;
 
+       w /= 10;
        fprintf(gnudata, "set xtics (\"0\" 0,");
        for (i = 1; i < 10; i++)
-               fprintf(gnudata, "\"%.1f\" "LLFMT",", ((double) i * w / scale), 
(lng) (i * w));
-       fprintf(gnudata, "\"%.2f\" "LLFMT, ((double) i * w / scale), (lng) (i * 
w));
+               fprintf(gnudata, "\"%.*f\" "LLFMT",", digits, (double) i * w / 
scale, i * w);
+       fprintf(gnudata, "\"%.*f %s\" "LLFMT, digits, (double) i * w / scale, 
scalename, i * w);
        fprintf(gnudata, ")\n");
        fprintf(gnudata, "set grid xtics\n");
 
@@ -1120,7 +1140,7 @@ static void createTomogram(void)
        totalticks = 0;
        for (i = 0; i < top; i++)
                totalticks += lastclk[rows[i]];
-       fprintf(gnudata, "set xlabel \"%s, parallelism usage %.1f %%\"\n", 
scalename, totalclkticks / (totalticks / 100.0));
+       fprintf(gnudata, "set xlabel \"%s, parallelism usage %.1f %%\"\n", 
scalename+3, totalclkticks / (totalticks / 100.0));
 
        h = 10; /* unit height of bars */
        fprintf(gnudata, "set ytics (");
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to