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

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: Whoops, forgot timeline metric 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
8 class BlobWorkshopPage(page_module.Page):
9 def __init__(self, blob_sizes, read_method, page_set):
10 super(BlobWorkshopPage, self).__init__(url='file://blob/blob-workshop.html', page_set=page_set)
11 self.blob_sizes = blob_sizes
12 self.read_method = read_method
13 self.errors = []
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)
19
20 # Add blobs
21 for size_bytes in self.blob_sizes:
22 with action_runner.CreateInteraction('Action_CreateBlob',
23 repeatable=True):
24 action_runner.ExecuteJavaScript('createBlob(' + str(size_bytes) + ');')
25
26 # Read blobs
27 with action_runner.CreateInteraction('Action_ReadBlob'):
28 if self.read_method is 'serial':
29 action_runner.ExecuteJavaScript('readBlobsSerially();')
30 else:
31 action_runner.ExecuteJavaScript('readBlobsInParallel();')
32 action_runner.WaitForJavaScriptCondition('doneReading == true', 60)
33
34 self.errors = action_runner.EvaluateJavaScript('errors')
35 if (self.errors):
36 raise page_test.Failure('Errors on page: ' + ', '.join(self.errors))
37
38 class BlobWorkshopPageSet(page_set_module.PageSet):
39 """The BlobWorkshop page."""
40
41 def __init__(self):
42 super(BlobWorkshopPageSet, self).__init__()
43 self.AddUserStory(BlobWorkshopPage([2] * 100, 'serial', self))
44 # self.AddUserStory(BlobWorkshopPage([2] * 10000, 'parallel', self))
45 # self.AddUserStory(BlobWorkshopPage([10] * 10000, 'parallel', self))
46 # self.AddUserStory(BlobWorkshopPage([1024] * 1000, 'parallel', self))
47 # self.AddUserStory(BlobWorkshopPage([10 * 1024] * 10, 'parallel', self))
48 # self.AddUserStory(BlobWorkshopPage([100 * 1024] * 2, 'parallel', self))
49 # self.AddUserStory(BlobWorkshopPage([501 * 1024], 'serial', self))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698