[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 09/27] ts-unixbench-reslts: process and plot bench results



On Thu, 2014-12-11 at 12:15 +0000, Wei Liu wrote:
> On Wed, Dec 10, 2014 at 07:10:06PM +0100, Dario Faggioli wrote:

> > This is done in a new Osstest/Benchmarking.pm module, as
> > the functions introduced may turn out useful somewhere else
> > too.
> > 
> 
> I would suggest using a dedicated commit for the introduction of
> Benchmarking.pm.
> 
I'm not sure. I like it being introduced here where it's useful, since
that does not, IMO, make the patch too long or to difficult to
understand/review/etc.

However, this is not a too big deal... let's see what others think, and
I'll copy. :-)

> > --- /dev/null
> > +++ b/Osstest/Benchmarking.pm
> > @@ -0,0 +1,115 @@
> > +# This is part of "osstest", an automated testing framework for Xen.
> > +# Copyright (C) 2009-2013 Citrix Inc.
> 
> 2009-2014
> 
Right! :-)

> > +sub unixbench_plot_results ($$$) {
> > +  my ($dataf,$num_cols,$pfile)= @_;
> > +  my $h= new IO::File "> $pfile.gp" or die "$!";
> > +
> > +  printf $h <<EOF;
> > +set terminal png enhanced font 
> > "/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf" 8 size 800,600
> > +set output '$pfile.png'
> > +set title 'Unixbench INDEXes for $flight.$job'
> > +set key outside center top horizontal noreverse noenhanced autotitles nobox
> > +set xtics mirror rotate by -45 out
> > +set style data histogram
> > +set style histogram cluster gap 1
> > +set style fill solid border lt -1
> > +set boxwidth 1 absolute
> > +set bmargin 13
> > +set rmargin 14
> > +SKIP_COL=1
> > +NCOL=$num_cols
> > +HWIDTH=1.0/(NCOL+1.0)
> > +plot for [c=SKIP_COL+1:SKIP_COL+NCOL] '$dataf' using c:xtic(1) with 
> > histograms title columnhead, \\
> > +        for [c=SKIP_COL+1:SKIP_COL+NCOL]'' every ::1 using 0:c:c with 
> > labels notitle offset first 
> > -HWIDTH*(NCOL/2.0)+HWIDTH/2.0+(c-(SKIP_COL+1))*HWIDTH, character 2 rotate 
> > by 90
> > +EOF
> > +  close($h);
> > +
> > +  my $gp= can_run('gnuplot') or return;
> 
> Need to install gnuplot before hand?
> 
Well, this is the OSSTest controller, not the target host, guest or
anything, so I'd need to install it by some perl equivalent of
'system("apt-get install gnuplot") (or whatever Perl offers to run
system commands).

I haven't found many examples of executing commands on the controller in
current OSSTest codebase, and I'm not sure whether that is a good idea
and/or a strong requirement here... Again, let's see what others think.

> > +  my ($ok,$err)= run( command => "$gp $pfile.gp", verbose => 1 );
> > +  logm("WARNING: plotting file with \"$err\"") unless $ok;
> 
> Fail the test case instead of issuing a warning?
> 
You think? Well, the benchmark(s) did run, and produced results that we
can analyze in many way other than plotting, either inside OSSTest
(adding the logic for that, of course) or outside of it, so I wouldn't
call this a 'failure'.

Perhaps I should distinguish between the cases where gnuplot is just not
there, in which case I really would continue just issuing warnings, from
the case where the plotting command ran and failed, in which cased I
agree, we should fail the test... What do you think?

Thanks and Regards,
Dario

-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.