OLD | NEW |
1 DESIGN | 1 DESIGN |
2 ====== | 2 ====== |
3 | 3 |
4 | 4 |
5 Overview | 5 Overview |
6 -------- | 6 -------- |
7 Provides interactive dashboard for Skia performance data. | 7 Provides interactive dashboard for Skia performance data. |
8 | 8 |
9 Code Locations | 9 Code Locations |
10 -------------- | 10 -------------- |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 $ mysql -h 173.194.104.24 -u root -p | 190 $ mysql -h 173.194.104.24 -u root -p |
191 | 191 |
192 | 192 |
193 mysql> use skia | 193 mysql> use skia |
194 | 194 |
195 mysql> show tables; | 195 mysql> show tables; |
196 | 196 |
197 Initial setup of the database, the users, and the tables: | 197 Initial setup of the database, the users, and the tables: |
198 | 198 |
199 * Create the database and set up permissions. Execute the following after | 199 * Create the database and set up permissions. Execute the following after |
200 you connect to a MySQL database (not necessary for SQLite). | 200 you connect to a MySQL database. |
201 | 201 |
202 CREATE DATABASE skia; | 202 CREATE DATABASE skia; |
203 USE skia; | 203 USE skia; |
204 CREATE USER 'readonly'@'%' IDENTIFIED BY <password in valentine>; | 204 CREATE USER 'readonly'@'%' IDENTIFIED BY <password in valentine>; |
205 GRANT SELECT ON *.* TO 'readonly'@'%'; | 205 GRANT SELECT ON *.* TO 'readonly'@'%'; |
206 CREATE USER 'readwrite'@'%' IDENTIFIED BY <password in valentine>; | 206 CREATE USER 'readwrite'@'%' IDENTIFIED BY <password in valentine>; |
207 GRANT SELECT, DELETE, UPDATE, INSERT ON *.* TO 'readwrite'@'%'; | 207 GRANT SELECT, DELETE, UPDATE, INSERT ON *.* TO 'readwrite'@'%'; |
208 | 208 |
209 * Create the versioned database tables. | 209 * Create the versioned database tables. |
210 | 210 |
211 We use the 'migratedb' tool to keep the database in a well defined (versioned) | 211 We use the 'migratedb' tool to keep the database in a well defined (versioned) |
212 state. The 'db_conn_string' flag allows to specify the target database. | 212 state. The 'db_conn_string' flag allows to specify the target database. |
213 By default it will try to connect to the production environment. | 213 By default it will try to connect to the production environment. |
214 But for testing a local MySQL database can be provided. If it cannot | 214 But for testing a local MySQL database can be provided. If it cannot |
215 connect to MySQL it will fall back to SQLite. | 215 connect to MySQL it will fall back to a local "test" MySQL database. |
216 | 216 |
217 Bring the production database to the latest schema version: | 217 Bring the production database to the latest schema version: |
218 | 218 |
219 $ migratedb -logtostderr=true | 219 $ migratedb -logtostderr=true |
220 | 220 |
221 Bring a local database to the latest schema version: | 221 Bring a local database to the latest schema version: |
222 | 222 |
223 $ migratedb -logtostderr=true -db_conn_string="root:%s@tcp(localhost:3306)/
skia?parseTime=true" | 223 $ migratedb -logtostderr=true -db_conn_string="root:%s@tcp(localhost:3306)/
skia?parseTime=true" |
224 | 224 |
225 Bring a local SQLite database to the latest schema version: | |
226 | |
227 $ migratedb -logtostderr=true -db_conn_string="" | |
228 | |
229 | 225 |
230 Nginx | 226 Nginx |
231 ----- | 227 ----- |
232 | 228 |
233 Nginx acts as a proxy to the backend app, which is configured to run on port | 229 Nginx acts as a proxy to the backend app, which is configured to run on port |
234 8000, and serves the app on port 443 (HTTPS). Port 80 just redirects to 443. | 230 8000, and serves the app on port 443 (HTTPS). Port 80 just redirects to 443. |
235 The config for the nginx server is held in setup/sys/perf_nginx, which is copied | 231 The config for the nginx server is held in setup/sys/perf_nginx, which is copied |
236 into place during installation. Nginx is monitored and kept running by monit. | 232 into place during installation. Nginx is monitored and kept running by monit. |
237 | 233 |
238 | 234 |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
462 | 458 |
463 But sysv init only handles starting and stopping a program once, so we use | 459 But sysv init only handles starting and stopping a program once, so we use |
464 Monit to monitor the application and restart it if it crashes. The config | 460 Monit to monitor the application and restart it if it crashes. The config |
465 is in: | 461 is in: |
466 | 462 |
467 /etc/monit/conf.d/perf | 463 /etc/monit/conf.d/perf |
468 | 464 |
469 Installation | 465 Installation |
470 ------------ | 466 ------------ |
471 See the README file. | 467 See the README file. |
OLD | NEW |