Commit graph

26 commits

Author SHA1 Message Date
Tommi Virtanen
37950ac5f2 Remove unused import. 2011-07-26 14:20:28 -07:00
Tommi Virtanen
1993c33ee3 Avoid built-in "file" as variable name. 2011-07-26 14:20:28 -07:00
Tommi Virtanen
91e3918ef5 Use itertools.islice instead of special-casing generator slicing. 2011-07-26 14:20:28 -07:00
Steven Berler
55a72f002b moved most readwrite tool command-line opts to config file
The only remaining command-line options are setting the random seed
and --no-cleanup.
2011-07-26 14:20:28 -07:00
Steven Berler
a6c16990df remove extraneous #TODO 2011-07-26 14:20:28 -07:00
Steven Berler
0c0c590d47 use stderr for non-yml output in readwrite tool
stdout should now only contain the yml output.
2011-07-26 14:20:28 -07:00
Steven Berler
33876b0dae fix yml format in readwrite tool
Now will print the chunks out one line per chunk instead of splitting
them accross multiple lines.
2011-07-26 14:20:28 -07:00
Steven Berler
1e991bc4bc adding chunks to readwrite tool output 2011-07-26 14:20:28 -07:00
Steven Berler
8cf9c57012 fix readwrite tool file sizes
Makes the file sizes specified correctly in KB instead of B
2011-07-26 14:20:28 -07:00
Steven Berler
15cf598b12 readwrite tool improvements
Now generates a list of filenames to use duing the setup, and passes this
list to the workers rather than having the workers list the bucket contents
or generate file names themselves.

Added a "warmup" stage that first writes out all the files so that content
exists for each filename.

Added setting the random seed as a command line parameter and uses this seed
for both generating the file names and the file content generator.
2011-07-26 14:20:28 -07:00
Tommi Virtanen
b54e1cbe99 Handle and report errors in readwrite test workers. 2011-07-20 11:32:52 -07:00
Tommi Virtanen
f3b5ed6ccc Say "worker_id" instead of name, as I keep confusing it with filenames. 2011-07-20 11:15:06 -07:00
Tommi Virtanen
1eb38e09e4 Link worker greenlets to parent, so we abort if they have an unhandled exception. 2011-07-20 11:06:30 -07:00
Tommi Virtanen
9ecaf63fbe Code layout cleanup. 2011-07-20 11:06:30 -07:00
Tommi Virtanen
deb8be9957 Make readwrite test put objects one by one, so it can report keys. 2011-07-20 11:06:30 -07:00
Tommi Virtanen
9e707b897d Remove the concept of batches from readwrite test.
That's an internal implementation detail caused by
the generate_objects api.
2011-07-20 11:06:30 -07:00
Tommi Virtanen
4cd4131dd7 Don't eat exceptions, that's a bad habit. 2011-07-20 11:06:30 -07:00
Tommi Virtanen
648ddbb761 Log readwrite test results in yaml.
This temporarily removes the statistics calculation; that
belongs somewhere else anyway, so it can be run on aggregated
results etc.
2011-07-20 11:06:30 -07:00
Tommi Virtanen
ed966af0a7 Use more idiomatic Python. 2011-07-20 11:06:30 -07:00
Tommi Virtanen
ad444b33ee Make queue and name arguments not optional; they're always passed in anyway. 2011-07-20 11:06:30 -07:00
Tommi Virtanen
71cfd4956c Move end test logic out of individual workers.
Parent waits for the duration anyway, just make it unconditionally
kill the workers. They already had timeouts aborting them; they may
be in the middle of an operation, but we really don't care, time's up.

This also avoids oddities with the queue where there may be items
after the StopIteration.

This also avoids workers potentially not exiting within the 1-second
timeout the old code had.
2011-07-20 11:06:30 -07:00
Tommi Virtanen
dff6b568e4 Use gevent Groups to manage groups of workers.
This mostly adds convenience functions, but it's nice to have.
2011-07-20 11:06:30 -07:00
Tommi Virtanen
fe749adebf pep8 cleanup. 2011-07-19 09:09:51 -07:00
Steven Berler
c312832c70 use time.time() instead of time.clock()
We want to measure actual time, not cpu time.
2011-07-14 11:40:26 -07:00
Steven Berler
7b51f55a1b fix zero devision error in readwrite test
Was dividing by 0 if somehow it managed to upload or download a file
in under .01 seconds.
2011-07-14 11:00:48 -07:00
Tommi Virtanen
02a4c82dfa Make generate_objects.py and rand_readwrite.py inside the package.
Handle dependencies properly. Now e.g. "./bootstrap &&
./virtualenv/bin/s3tests-test-readwrite" should just work.
2011-07-13 13:52:54 -07:00
Renamed from rand_readwrite.py (Browse further)