New Instance Checklist

When launching a new Perf instance:

  1. Create new database in CockroachDB.
$ ./cockroachdb/
If you don't see a command prompt, try pressing enter.
root@perf-cockroachdb-public:26257/defaultdb> CREATE DATABASE flutter_flutter2;

Time: 24.075052ms
  1. Perform the migrations on the new database to create the tables. See

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  \
  1. Add the database to be backed up to ./images/backup/
  2. Push a new version of perf-cockroachdb-backup.
    • make push_backup
  3. Optional: Add a script to create a new service account in secrets with 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 is typically used for ingestion instances.

# Creates the service account for flutter perf.
../../kube/secrets/ \
  skia-public \
  skia-public \
  flutter-perf-service-account \
  "The flutter perf service account." \
  roles/pubsub.editor \

Create the secrets:


Apply the secrets to the cluster.

../kube/secrets/ skia-public flutter-perf-service-account
  1. Create the PubSub topic for ingestion.

This creates the topic and also configures the GCS bucket/directory to send PubSub events to that topic when new files arrive:

# Creates the PubSub topic for Android Perf files and then ties it to GCS
# notifications.

set -e -x


perf-tool config create-pubsub-topics --config_filename=./configs/flutter.json
gsutil notification create -f json -e OBJECT_FINALIZE -t projects/${PROJECT_ID}/topics/${TOPIC} -p flutter-flutter gs://flutter-skia-perf-prod
  1. Start new “perfserver ingest” instances for the given data with new service account.
  2. [Optional] Use perf-tool to forcibly trigger reingestion of existing files.
perf-tool ingest force-reingest --config_filename=./configs/flutter-flutter2.json
  1. Once data has been ingested stand up the “perfserver frontend” instance.
  2. Add probers for the frontend.