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

Unified Diff: perf/DESIGN.md

Issue 608273002: Add versioning to perf SQL database (Closed) Base URL: https://skia.googlesource.com/buildbot@master
Patch Set: Incorporating feedback 4 Created 6 years, 3 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
« no previous file with comments | « no previous file | perf/Makefile » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: perf/DESIGN.md
diff --git a/perf/DESIGN.md b/perf/DESIGN.md
index 1e12c5aa58942467ab6d7a6d694dc4f16f289e65..672e1cadcd087717be4724244b1b948c99edcdd9 100644
--- a/perf/DESIGN.md
+++ b/perf/DESIGN.md
@@ -196,6 +196,9 @@ GCE):
Initial setup of the database, the users, and the tables:
+* Create the database and set up permissions. Execute the following after
+ you connect to a MySQL database (not necessary for SQLite).
+
CREATE DATABASE skia;
USE skia;
CREATE USER 'readonly'@'%' IDENTIFIED BY <password in valentine>;
@@ -203,26 +206,26 @@ Initial setup of the database, the users, and the tables:
CREATE USER 'readwrite'@'%' IDENTIFIED BY <password in valentine>;
GRANT SELECT, DELETE, UPDATE, INSERT ON *.* TO 'readwrite'@'%';
- CREATE TABLE shortcuts (
- id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
- traces MEDIUMTEXT NOT NULL
- );
+* Create the versioned database tables.
- CREATE TABLE clusters (
- id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
- ts BIGINT NOT NULL,
- hash TEXT NOT NULL,
- regression FLOAT NOT NULL,
- cluster MEDIUMTEXT NOT NULL,
- status TEXT NOT NULL,
- message TEXT NOT NULL
- );
+ We use the 'migrateDB' tool to keep the database in a well defined (versioned)
+ state. The 'db_conn_string' flag allows to specify the target database.
+ By default it will try to connect to the production environment.
+ But for testing a local MySQL database can be provided. If it cannot
+ connect to MySQL it will fall back to SQLite.
+
+ Bring the production database to the latest schema version:
+
+ $ migrateDB -logtostderr=true
+
+ Bring a local database to the latest schema version:
+
+ $ migrateDB -logtostderr=true -db_conn_string="root:%s@tcp(localhost:3306)/skia?parseTime=true"
+
+ Bring a local SQLite database to the latest schema version:
+
+ $ migrateDB -logtostderr=true -db_conn_string=""
- CREATE TABLE tries (
- issue VARCHAR(255) NOT NULL PRIMARY KEY,
- lastUpdated BIGINT NOT NULL,
- results LONGTEXT NOT NULL
- );
Clustering
----------
@@ -412,7 +415,7 @@ in the "config" vertical from the following two traces:
x86_64:HD7770:ShuttleA:Win8:gradient_create_opaque_640_480:8888
and put the value into the cell in a table that has
-_row_gradient_create_opaque_640_480_ and
+_row_gradient_create_opaque_640_480_ and
column _x86_64:HD7770:ShuttleA:Win8_. Basically, the table row will be the
"test" name, and the column will be the rest of the keys. The number of columns
will be the number of perf bots we run (20+ for now).
« no previous file with comments | « no previous file | perf/Makefile » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698