Set default for BurstQPS if it is not set or below SustainedQPS.

Change-Id: I0743ff9dcbace68f51227762845dbc3f20b86682
diff --git a/gitiles/client.go b/gitiles/client.go
index bd090f8..d4ef53b 100644
--- a/gitiles/client.go
+++ b/gitiles/client.go
@@ -69,7 +69,7 @@
 	flag.StringVar(&defaultOptions.Address, "gitiles_url", "https://android.googlesource.com", "URL of the gitiles service.")
 	flag.StringVar(&defaultOptions.CookieJar, "gitiles_cookies", "", "path to cURL-style cookie jar file.")
 	flag.StringVar(&defaultOptions.UserAgent, "gitiles_agent", "slothfs", "gitiles User-Agent string to use.")
-	flag.IntVar(&defaultOptions.SustainedQPS, "gitiles_qps", 4, "maximum Gitiles QPS")
+	flag.Float64Var(&defaultOptions.SustainedQPS, "gitiles_qps", 4, "maximum Gitiles QPS")
 	return &defaultOptions
 }
 
@@ -87,11 +87,13 @@
 		}
 	}
 
-	if opts.BurstQPS == 0 {
-		opts.BurstQPS = 4
-	}
 	if opts.SustainedQPS == 0.0 {
-		opts.SustainedQPS = 0.5
+		opts.SustainedQPS = 4
+	}
+	if opts.BurstQPS == 0 {
+		opts.BurstQPS = int(10.0 * opts.SustainedQPS)
+	} else if float64(opts.BurstQPS) < opts.SustainedQPS {
+		opts.BurstQPS = int(opts.SustainedQPS) + 1
 	}
 
 	url, err := url.Parse(opts.Address)