diff --git a/metrics/metrics_daemon.cc b/metrics/metrics_daemon.cc
index b0247c6..7226594 100644
--- a/metrics/metrics_daemon.cc
+++ b/metrics/metrics_daemon.cc
@@ -190,7 +190,7 @@
   upload_service_.reset(new UploadService(new SystemProfileCache(true,
                                                                  config_root_),
                                           server_));
-  upload_service_->Init(upload_interval_secs_, metrics_file_);
+  upload_service_->Init(upload_interval_, metrics_file_);
   upload_service_->UploadEvent();
 }
 
@@ -218,7 +218,7 @@
                          const string& vmstats_path,
                          const string& scaling_max_freq_path,
                          const string& cpuinfo_max_freq_path,
-                         int upload_interval_secs,
+                         const base::TimeDelta& upload_interval,
                          const string& server,
                          const string& metrics_file,
                          const string& config_root) {
@@ -227,7 +227,7 @@
   DCHECK(metrics_lib != nullptr);
   metrics_lib_ = metrics_lib;
 
-  upload_interval_secs_ = upload_interval_secs;
+  upload_interval_ = upload_interval;
   server_ = server;
   metrics_file_ = metrics_file;
 
@@ -326,7 +326,7 @@
   if (uploader_active) {
     LOG(INFO) << "uploader enabled";
     upload_service_.reset(new UploadService(new SystemProfileCache(), server_));
-    upload_service_->Init(upload_interval_secs_, metrics_file_);
+    upload_service_->Init(upload_interval_, metrics_file_);
   }
 }
 
diff --git a/metrics/metrics_daemon.h b/metrics/metrics_daemon.h
index 7c7f8d2..f4f1430 100644
--- a/metrics/metrics_daemon.h
+++ b/metrics/metrics_daemon.h
@@ -37,7 +37,7 @@
             const std::string& vmstats_path,
             const std::string& cpuinfo_max_freq_path,
             const std::string& scaling_max_freq_path,
-            int upload_interval_secs,
+            const base::TimeDelta& upload_interval,
             const std::string& server,
             const std::string& metrics_file,
             const std::string& config_root);
@@ -379,7 +379,7 @@
   std::string scaling_max_freq_path_;
   std::string cpuinfo_max_freq_path_;
 
-  int upload_interval_secs_;
+  base::TimeDelta upload_interval_;
   std::string server_;
   std::string metrics_file_;
 
diff --git a/metrics/metrics_daemon_main.cc b/metrics/metrics_daemon_main.cc
index f4a660b..9322771 100644
--- a/metrics/metrics_daemon_main.cc
+++ b/metrics/metrics_daemon_main.cc
@@ -83,7 +83,7 @@
               "/proc/vmstat",
               kScalingMaxFreqPath,
               kCpuinfoMaxFreqPath,
-              FLAGS_upload_interval_secs,
+              base::TimeDelta::FromSeconds(FLAGS_upload_interval_secs),
               FLAGS_server,
               FLAGS_metrics_file,
               FLAGS_config_root);
diff --git a/metrics/metrics_daemon_test.cc b/metrics/metrics_daemon_test.cc
index 947be87..ed6856a 100644
--- a/metrics/metrics_daemon_test.cc
+++ b/metrics/metrics_daemon_test.cc
@@ -72,7 +72,7 @@
                  kFakeVmStatsName,
                  kFakeScalingMaxFreqPath,
                  kFakeCpuinfoMaxFreqPath,
-                 1800,
+                 base::TimeDelta::FromMinutes(30),
                  kMetricsServer,
                  kMetricsFilePath,
                  "/");
diff --git a/metrics/uploader/upload_service.cc b/metrics/uploader/upload_service.cc
index 55d76a4..7e856f9 100644
--- a/metrics/uploader/upload_service.cc
+++ b/metrics/uploader/upload_service.cc
@@ -31,11 +31,11 @@
       sender_(new HttpSender(server)) {
 }
 
-void UploadService::Init(int upload_interval_secs,
+void UploadService::Init(const base::TimeDelta& upload_interval,
                          const std::string& metrics_file) {
   base::StatisticsRecorder::Initialize();
   metrics_file_ = metrics_file;
-  g_timeout_add_seconds(upload_interval_secs, &UploadEventStatic, this);
+  g_timeout_add_seconds(upload_interval.InSeconds(), &UploadEventStatic, this);
 }
 
 void UploadService::StartNewLog() {
diff --git a/metrics/uploader/upload_service.h b/metrics/uploader/upload_service.h
index a72349e..3611794 100644
--- a/metrics/uploader/upload_service.h
+++ b/metrics/uploader/upload_service.h
@@ -57,7 +57,7 @@
   explicit UploadService(SystemProfileSetter* setter,
                          const std::string& server);
 
-  void Init(int upload_interval_secs,
+  void Init(const base::TimeDelta& upload_interval,
             const std::string& metrics_file);
 
   // Starts a new log. The log needs to be regenerated after each successful
diff --git a/metrics/uploader/upload_service_test.cc b/metrics/uploader/upload_service_test.cc
index 2cdc4f5..c48747e 100644
--- a/metrics/uploader/upload_service_test.cc
+++ b/metrics/uploader/upload_service_test.cc
@@ -30,7 +30,7 @@
         exit_manager_(new base::AtExitManager()) {
     sender_ = new SenderMock;
     upload_service_.sender_.reset(sender_);
-    upload_service_.Init(1800, kMetricsFilePath);
+    upload_service_.Init(base::TimeDelta::FromMinutes(30), kMetricsFilePath);
   }
 
   virtual void SetUp() {
