diff --git a/perf/go/btts/btts.go b/perf/go/btts/btts.go
index 2a0b7df..f2f5f0b 100644
--- a/perf/go/btts/btts.go
+++ b/perf/go/btts/btts.go
@@ -50,7 +50,7 @@
 	// MAX_MUTATIONS is the max number of mutations we can send in a single ApplyBulk call. Can be up to 100,000 according to BigTable docs.
 	MAX_MUTATIONS = 100000
 
-	TIMEOUT       = 1 * time.Minute
+	TIMEOUT       = 4 * time.Minute
 	WRITE_TIMEOUT = 10 * time.Minute
 )
 
diff --git a/perf/go/skiaperf/main.go b/perf/go/skiaperf/main.go
index 58df249..39b4520 100644
--- a/perf/go/skiaperf/main.go
+++ b/perf/go/skiaperf/main.go
@@ -228,15 +228,18 @@
 
 	scopes := []string{storage.ScopeReadOnly, datastore.ScopeDatastore, bigtable.Scope}
 
+	sklog.Info("About to create token source.")
 	ts, err := auth.NewDefaultTokenSource(*local, scopes...)
 	if err != nil {
 		sklog.Fatalf("Failed to get TokenSource: %s", err)
 	}
 
+	sklog.Info("About to init datastore.")
 	if err := ds.InitWithOpt(*projectName, *namespace, option.WithTokenSource(ts)); err != nil {
 		sklog.Fatalf("Failed to init Cloud Datastore: %s", err)
 	}
 
+	sklog.Info("About to init GCS.")
 	storageClient, err = storage.NewClient(ctx, option.WithTokenSource(ts))
 	if err != nil {
 		sklog.Fatalf("Failed to authenicate to cloud storage: %s", err)
@@ -247,6 +250,7 @@
 		sklog.Fatalf("The --algo flag value is invalid: %s", err)
 	}
 
+	sklog.Info("About to parse templates.")
 	loadTemplates()
 
 	var ok bool
@@ -255,11 +259,13 @@
 	}
 	*gitRepoUrl = btConfig.GitUrl
 
+	sklog.Info("About to clone repo.")
 	git, err = gitinfo.CloneOrUpdate(ctx, *gitRepoUrl, *gitRepoDir, false)
 	if err != nil {
 		sklog.Fatal(err)
 	}
 
+	sklog.Info("About to build dataframebuilder.")
 	var dfBuilder dataframe.DataFrameBuilder
 	traceStore, err = btts.NewBigTableTraceStoreFromConfig(ctx, btConfig, ts, false)
 	if err != nil {
@@ -267,15 +273,18 @@
 	}
 	dfBuilder = dfbuilder.NewDataFrameBuilderFromBTTS(git, traceStore)
 
+	sklog.Info("About to build dataframe refresher.")
 	freshDataFrame, err = dataframe.NewRefresher(ctx, git, dfBuilder, time.Minute, *dataFrameSize)
 	if err != nil {
 		sklog.Fatalf("Failed to build the dataframe Refresher: %s", err)
 	}
 
+	sklog.Info("About to build cidl.")
 	cidl = cid.New(ctx, git, *gitRepoUrl)
 
 	alerts.DefaultSparse = *defaultSparse
 
+	sklog.Info("About to build alertStore.")
 	alertStore = alerts.NewStore()
 
 	if !*noemail {
