Use time.Duration for registering metrics
diff --git a/metrics/main.go b/metrics/main.go
index 8394171..29b73af 100644
--- a/metrics/main.go
+++ b/metrics/main.go
@@ -6,6 +6,7 @@
 	"log"
 	"net/http"
 	"os"
+	"time"
 
 	"github.com/fweikert/continuous-integration/metrics/clients"
 	"github.com/fweikert/continuous-integration/metrics/metrics"
@@ -29,6 +30,10 @@
 	fmt.Fprintln(w, "You should try https://bazel.build")
 }
 
+func minutes(value int) time.Duration {
+	return time.Duration(value) * time.Minute
+}
+
 func main() {
 	flag.Parse()
 
@@ -75,41 +80,41 @@
 	srv := service.CreateService(handleError)
 
 	buildsPerChange := metrics.CreateBuildsPerChange(bk, 500, pipelines...)
-	srv.AddMetric(buildsPerChange, 60, cloudSql)
+	srv.AddMetric(buildsPerChange, minutes(60), cloudSql)
 
 	buildSuccess := metrics.CreateBuildSuccess(bk, 200, pipelines...)
-	srv.AddMetric(buildSuccess, 60, cloudSql)
+	srv.AddMetric(buildSuccess, minutes(60), cloudSql)
 
 	criticalPath := metrics.CreateCriticalPath(bk, 20, pipelines...)
-	srv.AddMetric(criticalPath, 60, cloudSql)
+	srv.AddMetric(criticalPath, minutes(60), cloudSql)
 
 	flakiness := metrics.CreateFlakiness(gcs, "bazel-buildkite-stats", "flaky-tests-bep", pipelines...)
-	srv.AddMetric(flakiness, 60, cloudSql)
+	srv.AddMetric(flakiness, minutes(60), cloudSql)
 
 	macPerformance := metrics.CreateMacPerformance(bk, 20, pipelines...)
-	srv.AddMetric(macPerformance, 60, cloudSql)
+	srv.AddMetric(macPerformance, minutes(60), cloudSql)
 
 	/*
 		pipelinePerformance := metrics.CreatePipelinePerformance(bk, 20, pipelines...)
-		srv.AddMetric(pipelinePerformance, 60, cloudSql)
+		srv.AddMetric(pipelinePerformance, minutes(60), cloudSql)
 	*/
 
 	platformLoad := metrics.CreatePlatformLoad(bk, 100, settings.BuildkiteOrgs...)
-	srv.AddMetric(platformLoad, 5, cloudSql)
+	srv.AddMetric(platformLoad, minutes(5), cloudSql)
 
 	platformSignificance := metrics.CreatePlatformSignificance(bk, 100, pipelines...)
-	srv.AddMetric(platformSignificance, 24*60, cloudSql)
+	srv.AddMetric(platformSignificance, minutes(24*60), cloudSql)
 
 	platformUsage := metrics.CreatePlatformUsage(bk, 100, settings.BuildkiteOrgs...)
-	srv.AddMetric(platformUsage, 60, cloudSql)
+	srv.AddMetric(platformUsage, minutes(60), cloudSql)
 
 	releaseDownloads := metrics.CreateReleaseDownloads(settings.GitHubOrg,
 		settings.GitHubRepo,
 		settings.GitHubApiToken, megaByte)
-	srv.AddMetric(releaseDownloads, 12*60, cloudSql)
+	srv.AddMetric(releaseDownloads, minutes(12*60), cloudSql)
 
 	workerAvailability := metrics.CreateWorkerAvailability(bk, settings.BuildkiteOrgs...)
-	srv.AddMetric(workerAvailability, 5, cloudSql)
+	srv.AddMetric(workerAvailability, minutes(5), cloudSql)
 
 	if *testMode {
 		log.Println("[Test mode] Running all jobs exactly once...")
diff --git a/metrics/service/service.go b/metrics/service/service.go
index d0116c2..12474a4 100644
--- a/metrics/service/service.go
+++ b/metrics/service/service.go
@@ -60,8 +60,8 @@
 	job.ticker.Stop()
 }
 
-func createJob(metric metrics.Metric, updateIntervalMinutes uint, publisherInstances []publishers.Publisher) metricJob {
-	return metricJob{metric: metric, ticker: time.NewTicker(time.Duration(updateIntervalMinutes) * time.Minute), publishers: publisherInstances}
+func createJob(metric metrics.Metric, updateInterval time.Duration, publisherInstances []publishers.Publisher) metricJob {
+	return metricJob{metric: metric, ticker: time.NewTicker(updateInterval), publishers: publisherInstances}
 }
 
 type ErrorHandler func(string, error)
@@ -75,12 +75,12 @@
 	return &MetricService{jobs: make(map[string]metricJob), handler: handler}
 }
 
-func (srv *MetricService) AddMetric(metric metrics.Metric, updateIntervalMinutes uint, publisherInstances ...publishers.Publisher) error {
+func (srv *MetricService) AddMetric(metric metrics.Metric, updateInterval time.Duration, publisherInstances ...publishers.Publisher) error {
 	name := metric.Name()
 	if _, ok := srv.jobs[name]; ok {
 		return fmt.Errorf("There is already a job for metric '%s'", name)
 	}
-	srv.jobs[name] = createJob(metric, updateIntervalMinutes, publisherInstances)
+	srv.jobs[name] = createJob(metric, updateInterval, publisherInstances)
 	return nil
 }