When launching a new Perf instance:
$ ./cockroachdb/connect.sh If you don't see a command prompt, try pressing enter. root@perf-cockroachdb-public:26257/defaultdb> CREATE DATABASE flutter_flutter2; CREATE DATABASE Time: 24.075052ms
COCKROACH.md.
First port-forward in the production database:
kubectl port-forward perf-cockroachdb-0 26257:26257
Then apply the migrations:
$ perf-tool database migrate \ --config_filename=./configs/flutter-flutter2.json \ --connection_string=postgresql://root@localhost:26257/flutter_flutter2?sslmode=disable
./images/backup/backup.sh
.perf-cockroachdb-backup
.make push_backup
access to the Google Cloud Storage location containing the files to ingest. This step is optional if you are re-using an existing service account, such as skia-perf-sa
for the new instance. Note that there may be different service accounts for ingestion vs front-end instances. For example perf-ingest@skia-public.iam.gserviceaccount.com is typically used for ingestion instances.
#/bin/bash # Creates the service account for flutter perf. ../../kube/secrets/add-service-account.sh \ skia-public \ skia-public \ flutter-perf-service-account \ "The flutter perf service account." \ roles/pubsub.editor \ roles/cloudtrace.agent
Create the secrets:
./secrets/create-flutter-perf-service-account.sh
Apply the secrets to the cluster.
../kube/secrets/apply-secret-to-cluster.sh skia-public flutter-perf-service-account
This creates the topic.
perf-tool config create-pubsub-topics --config_filename=./configs/angle.json
This configures the GCS bucket/directory to send PubSub events to that topic when new files arrive:
#/bin/bash # Creates the PubSub topic for Android Perf files and then ties it to GCS # notifications. set -e -x PROJECT_ID=skia-public TOPIC=perf-ingestion-flutter-flutter2 gsutil notification create -f json -e OBJECT_FINALIZE -t projects/${PROJECT_ID}/topics/${TOPIC} -p flutter-flutter gs://flutter-skia-perf-prod
Note that for buckets not owned by the Skia Infra team this command needs to be run by someone with admin rights on the bucket and also the ability to create the link to the pubsub receiver in the skia-public
project. For non-Skia Infra buckets I've found the easiest thing to do is give the requester privileges to the skia-public
project (for an hour) and have them run the above command.
account.
perf-tool ingest force-reingest --config_filename=./configs/flutter-flutter2.json
Once the new instance of the frontend is running push a new version of SKFE so we route traffic to the new instance:
cd skfe make release