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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: tools/perf/page_sets/blob_workshop.py
diff --git a/tools/perf/page_sets/blob_workshop.py b/tools/perf/page_sets/blob_workshop.py
new file mode 100644
index 0000000000000000000000000000000000000000..1aa7eaf9616ff9a4e8cdc5b4aa5277754387c540
--- /dev/null
+++ b/tools/perf/page_sets/blob_workshop.py
@@ -0,0 +1,49 @@
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+from telemetry.page import page as page_module
+from telemetry.page import page_test as page_test
+from telemetry.page import page_set as page_set_module
+
+class BlobWorkshopPage(page_module.Page):
+ def __init__(self, blob_sizes, read_method, page_set):
+ super(BlobWorkshopPage, self).__init__(url='file://blob/blob-workshop.html', page_set=page_set)
+ self.blob_sizes = blob_sizes
+ self.read_method = read_method
+ self.errors = []
+
+ def RunNavigateSteps(self, action_runner):
+ url = self.file_path_url_with_scheme if self.is_file else self.url
+ action_runner.Navigate(
+ url, script_to_evaluate_on_commit=self.script_to_evaluate_on_commit)
+
+ # Add blobs
+ for size_bytes in self.blob_sizes:
+ with action_runner.CreateInteraction('Action_CreateBlob',
+ repeatable=True):
+ action_runner.ExecuteJavaScript('createBlob(' + str(size_bytes) + ');')
+
+ # Read blobs
+ with action_runner.CreateInteraction('Action_ReadBlob'):
+ if self.read_method is 'serial':
+ action_runner.ExecuteJavaScript('readBlobsSerially();')
+ else:
+ action_runner.ExecuteJavaScript('readBlobsInParallel();')
+ action_runner.WaitForJavaScriptCondition('doneReading == true', 60)
+
+ self.errors = action_runner.EvaluateJavaScript('errors')
+ if (self.errors):
+ raise page_test.Failure('Errors on page: ' + ', '.join(self.errors))
+
+class BlobWorkshopPageSet(page_set_module.PageSet):
+ """The BlobWorkshop page."""
+
+ def __init__(self):
+ super(BlobWorkshopPageSet, self).__init__()
+ self.AddUserStory(BlobWorkshopPage([2] * 100, 'serial', self))
+ # self.AddUserStory(BlobWorkshopPage([2] * 10000, 'parallel', self))
+ # self.AddUserStory(BlobWorkshopPage([10] * 10000, 'parallel', self))
+ # self.AddUserStory(BlobWorkshopPage([1024] * 1000, 'parallel', self))
+ # self.AddUserStory(BlobWorkshopPage([10 * 1024] * 10, 'parallel', self))
+ # self.AddUserStory(BlobWorkshopPage([100 * 1024] * 2, 'parallel', self))
+ # self.AddUserStory(BlobWorkshopPage([501 * 1024], 'serial', self))

Powered by Google App Engine
This is Rietveld 408576698