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

Side by Side Diff: tools/page_cycler/database/pseudo-random-transactions/index.html

Issue 148093016: [Telemetry] Clean up some page cycler cruft now that idb has moved out. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Remove database page cycler too Created 6 years, 10 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 <!DOCTYPE HTML>
2 <html>
3 <title>Pseudo-random transactions</title>
4 <script src="../head.js"></script>
5 <script src="../common.js"></script>
6 <script>
7 var SELECT_STATEMENT_IN_READ_TRANSACTION = 0;
8 var SELECT_STATEMENT_IN_TRANSACTION = 1;
9 var INSERT_STATEMENT = 2;
10 var UPDATE_STATEMENT = 3;
11 var DELETE_STATEMENT = 4;
12 var STATEMENTS =
13 [2, 0, 4, 2, 2, 2, 2, 2, 1, 4, 1, 1, 0, 2, 0, 0, 2, 1, 2, 0,
14 4, 4, 2, 3, 3, 4, 3, 1, 3, 3, 2, 4, 3, 3, 2, 3, 1, 1, 4, 2,
15 4, 1, 4, 2, 3, 0, 4, 2, 4, 0, 4, 3, 3, 2, 0, 2, 1, 4, 4, 4,
16 4, 2, 3, 2, 0, 3, 3, 0, 4, 4, 4, 2, 3, 1, 4, 2, 4, 2, 3, 0,
17 2, 4, 0, 4, 2, 2, 4, 0, 3, 2, 3, 2, 3, 2, 0, 0, 4, 0, 2, 0];
18
19 var transactionsCompleted = 0;
20 var startTime = 0;
21
22 function statementSuccessCallback(tx, data) {}
23 function statementErrorCallback(tx, error) {}
24
25 function transactionSuccessCallback() {
26 if (++transactionsCompleted == TRANSACTIONS)
27 testComplete(Date.now() - startTime);
28 }
29
30 function transactionErrorCallback(error) {
31 testComplete(TEST_FAILED);
32 }
33
34 function customRunTransactions(db) {
35 var selectIDCounter = 0;
36 var insertIDCounter = 0;
37 var updateIDCounter = 0;
38 var deleteIDCounter = 0;
39 var randomString = getRandomString();
40 var randomStringForUpdates = getRandomString();
41 startTime = Date.now();
42 for (var i = 0; i < TRANSACTIONS; i++) {
43 switch (STATEMENTS[i % STATEMENTS.length]) {
44 case SELECT_STATEMENT_IN_READ_TRANSACTION:
45 db.readTransaction(
46 function(tx) {
47 tx.executeSql('SELECT * FROM Test WHERE ID = ?',
48 [selectIDCounter++],
49 statementSuccessCallback, statementErrorCallback);
50 }, transactionErrorCallback, transactionSuccessCallback);
51 break;
52 case SELECT_STATEMENT_IN_TRANSACTION:
53 db.transaction(
54 function(tx) {
55 tx.executeSql('SELECT * FROM Test WHERE ID = ?',
56 [selectIDCounter++],
57 statementSuccessCallback, statementErrorCallback);
58 }, transactionErrorCallback, transactionSuccessCallback);
59 break;
60 case INSERT_STATEMENT:
61 db.transaction(
62 function(tx) {
63 tx.executeSql('INSERT INTO Test VALUES (?, ?)',
64 [insertIDCounter++, randomString],
65 statementSuccessCallback, statementErrorCallback);
66 }, transactionErrorCallback, transactionSuccessCallback);
67 break;
68 case UPDATE_STATEMENT:
69 db.transaction(
70 function(tx) {
71 tx.executeSql('UPDATE Test SET Foo = ? WHERE ID = ?',
72 [randomStringForUpdates, updateIDCounter++],
73 statementSuccessCallback, statementErrorCallback);
74 }, transactionErrorCallback, transactionSuccessCallback);
75 break;
76 case DELETE_STATEMENT:
77 db.transaction(
78 function(tx) {
79 tx.executeSql('DELETE FROM Test WHERE ID = ?',
80 [deleteIDCounter++],
81 statementSuccessCallback, statementErrorCallback);
82 }, transactionErrorCallback, transactionSuccessCallback);
83 break;
84 default:
85 testComplete(TEST_FAILED);
86 return;
87 }
88 }
89 }
90 </script>
91
92 <body>
93 <script>
94 runPerformanceTest({
95 dbName: "PseudoRandomTransactions",
96 readOnly: false,
97 insertRowsAtSetup: true,
98 transactionCallback: null,
99 customRunTransactions: customRunTransactions
100 });
101 </script>
102 </body>
103 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698