Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: tools/perf/page_sets/blob_workshop.py

Issue 1104053006: [Storage] Blob Storage perf tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added read stats Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4 from telemetry.page import page as page_module
5 from telemetry.page import page_test as page_test
6 from telemetry.page import page_set as page_set_module
7
nednguyen 2015/05/18 22:55:54 ditto
dmurph 2015/05/21 00:21:36 Done.
8 class BlobWorkshopPage(page_module.Page):
9 def __init__(self, write_method, blob_sizes, read_method, page_set):
10 super(BlobWorkshopPage, self).__init__(url='file://blob/blob-workshop.html', page_set=page_set)
nednguyen 2015/05/18 22:55:54 You may want to define the 'name' for these pages,
dmurph 2015/05/21 00:21:36 Done.
11 self.blob_sizes = blob_sizes
nednguyen 2015/05/18 22:55:54 Make this and the other 3 field members private
dmurph 2015/05/21 00:21:36 Done.
12 self.read_method = read_method
13 self.write_method = write_method
14
15 def RunNavigateSteps(self, action_runner):
16 url = self.file_path_url_with_scheme if self.is_file else self.url
17 action_runner.Navigate(
18 url, script_to_evaluate_on_commit=self.script_to_evaluate_on_commit)
nednguyen 2015/05/18 22:55:54 3 lines above can be removed and you can use put t
dmurph 2015/05/21 00:21:36 Done.
19
20 action_runner.ExecuteJavaScript('disableUI = true;')
21
22 # Add blobs
23 for size_bytes in self.blob_sizes:
24 with action_runner.CreateInteraction('Action_CreateBlob',
25 repeatable=True):
26 action_runner.ExecuteJavaScript('createBlob(' + str(size_bytes) + ');')
27
28 # Read blobs
29 with action_runner.CreateInteraction('Action_ReadBlob'):
30 if self.read_method is 'serial':
31 action_runner.ExecuteJavaScript('readBlobsSerially();')
32 else:
33 action_runner.ExecuteJavaScript('readBlobsInParallel();')
34 action_runner.WaitForJavaScriptCondition('doneReading === true', 60)
35
36 errors = action_runner.EvaluateJavaScript('errors')
37 if (errors):
nednguyen 2015/05/18 22:55:54 unnecessary parens
dmurph 2015/05/21 00:21:36 Done.
38 raise page_test.Failure('Errors on page: ' + ', '.join(self.errors))
39
40 class BlobWorkshopPageSet(page_set_module.PageSet):
41 """The BlobWorkshop page."""
42
43 def __init__(self):
44 super(BlobWorkshopPageSet, self).__init__()
45 self.AddUserStory(BlobWorkshopPage('2Bx200',
46 [2] * 200, 'serial', self))
47 self.AddUserStory(BlobWorkshopPage('2Bx200',
48 [2] * 200, 'parallel', self))
49
50 self.AddUserStory(BlobWorkshopPage('1KBx200',
51 [1024] * 200, 'serial', self))
52 self.AddUserStory(BlobWorkshopPage('1KBx200',
53 [1024] * 200, 'parallel', self))
54
55 self.AddUserStory(BlobWorkshopPage('150KBx200',
56 [150 * 1024 - 1] * 200,
57 'serial', self))
58 self.AddUserStory(BlobWorkshopPage('150KBx200',
59 [150 * 1024 - 1] * 200,
60 'parallel', self))
61
62 self.AddUserStory(BlobWorkshopPage('1MBx200',
63 [1024 * 1024] * 200, 'serial', self))
64 self.AddUserStory(BlobWorkshopPage('1MBx200',
65 [1024 * 1024] * 200, 'parallel', self))
66
67 self.AddUserStory(BlobWorkshopPage('10MBx20',
68 [10 * 1024 * 1024] * 30,
69 'serial', self))
70 self.AddUserStory(BlobWorkshopPage('10MBx20',
71 [10 * 1024 * 1024] * 30,
72 'parallel', self))
73
74 self.AddUserStory(BlobWorkshopPage('100MBx5',
75 [100 * 1024 * 1024] * 5,
76 'serial', self))
77 self.AddUserStory(BlobWorkshopPage('100MBx5',
78 [100 * 1024 * 1024] * 5,
79 'parallel', self))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698