Skip to contentSkip to conversation

iotests: record separate timings per format, protocol pair

PATCH Applied Daniel P. Berrange 3 participants 4 messages Jan 3, 2017 – Jan 25, 2017

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 iotests: record separate timings per format, protocol pair

The 'check' program records timings for each test that is run. These timings are only valid, however, for a particular format/protocol combination. So if frequently running 'check' with a variety of different formats or protocols, the times printed can be very misleading.

Instead of having a single 'check.time' file, maintain multiple 'check.time-$IMGPROTO-$IMGFMT' files.

---
Changed in v2:

- Use a separate file per format/protocol, instead of throwing away data each time format/protocol changes between runs (Eric)

 tests/qemu-iotests/.gitignore |  2 +-
 tests/qemu-iotests/Makefile   |  2 +-
 tests/qemu-iotests/check      | 12 +++++++-----
 3 files changed, 9 insertions(+), 7 deletions(-)
tests/qemu-iotests/.gitignore +1 -1
index 0711cbd..da62054 100644
@@ -1,5 +1,5 @@
 check.log
-check.time
+check.time*
 common.env
 *.out.bad
 *.notrun
tests/qemu-iotests/Makefile +1 -1
index 2fb527c..27380e6 100644
@@ -1,5 +1,5 @@
 
-CLEANFILES= *.out.bad *.notrun check.log check.time
+CLEANFILES= *.out.bad *.notrun check.log check.time*
 
 # no default target
 default:
tests/qemu-iotests/check +7 -5
index 4cba215..4b1c674 100755
@@ -129,6 +129,8 @@ fi
 #    exit 1
 #fi
 
+TIMESTAMP_FILE=check.time-$IMGPROTO-$IMGFMT
+
 tmp="${TEST_DIR}"/$$
 
 _wallclock()
@@ -155,9 +157,9 @@ _wrapup()
         :
     elif $needwrap
     then
-        if [ -f check.time -a -f $tmp.time ]
+        if [ -f $TIMESTAMP_FILE -a -f $tmp.time ]
         then
-            cat check.time $tmp.time \
+            cat $TIMESTAMP_FILE $tmp.time \
             | $AWK_PROG '
         { t[$1] = $2 }
 END        { if (NR > 0) {
@@ -165,7 +167,7 @@ END        { if (NR > 0) {
           }
         }' \
             | sort -n >$tmp.out
-            mv $tmp.out check.time
+            mv $tmp.out $TIMESTAMP_FILE
         fi
 
         if [ -f $tmp.expunged ]
@@ -223,7 +225,7 @@ echo "preamble" > "${TEST_DIR}"/check.sts
 # don't leave old full output behind on a clean run
 rm -f check.full
 
-[ -f check.time ] || touch check.time
+[ -f $TIMESTAMP_FILE ] || touch $TIMESTAMP_FILE
 
 FULL_IMGFMT_DETAILS=`_full_imgfmt_details`
 FULL_IMGPROTO_DETAILS=`_full_imgproto_details`
@@ -277,7 +279,7 @@ do
         # really going to try and run this one
         #
         rm -f $seq.out.bad
-        lasttime=`sed -n -e "/^$seq /s/.* //p" <check.time`
+        lasttime=`sed -n -e "/^$seq /s/.* //p" <$TIMESTAMP_FILE`
         if [ "X$lasttime" != X ]; then
                 echo -n " ${lasttime}s ..."
         else
Signature · 1 line
2.9.3
Reviewed-by on v2 1/1
#1 lore raw
Quoted 9 lines · Daniel P. Berrange

The 'check' program records timings for each test that is run. These timings are only valid, however, for a particular format/protocol combination. So if frequently running 'check' with a variety of different formats or protocols, the times printed can be very misleading.

Instead of having a single 'check.time' file, maintain multiple 'check.time-$IMGPROTO-$IMGFMT' files.

Quoted 8 lines

---
Changed in v2:

- Use a separate file per format/protocol, instead of throwing away data each time format/protocol changes between runs (Eric)

Signature · 2 lines
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org
#2 lore raw
Quoted 14 lines · Eric Blake
Quoted 13 lines · Daniel P. Berrange

The 'check' program records timings for each test that is run. These timings are only valid, however, for a particular format/protocol combination. So if frequently running 'check' with a variety of different formats or protocols, the times printed can be very misleading.

Instead of having a single 'check.time' file, maintain multiple 'check.time-$IMGPROTO-$IMGFMT' files.

---
Changed in v2:

Quoted 6 lines
Quoted 4 lines

- Use a separate file per format/protocol, instead of throwing away data each time format/protocol changes between runs (Eric)

Ping, any block maintainers want to take this simple patch ?

Regards,
Daniel

Signature · 3 lines
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://entangle-photo.org       -o-    http://search.cpan.org/~danberr/ :|
Applied
#3 lore raw
In reply to Daniel P. Berrange
Quoted 9 lines · Daniel P. Berrange

The 'check' program records timings for each test that is run. These timings are only valid, however, for a particular format/protocol combination. So if frequently running 'check' with a variety of different formats or protocols, the times printed can be very misleading.

Instead of having a single 'check.time' file, maintain multiple 'check.time-$IMGPROTO-$IMGFMT' files.

Quoted 7 lines

---
Changed in v2:

- Use a separate file per format/protocol, instead of throwing away data each time format/protocol changes between runs (Eric)

Thanks, applied to my block tree:

https://github.com/XanClic/qemu/commits/block

Max