diff --git a/metrics.h b/metrics.h
index 1136ca1..bd81924 100644
--- a/metrics.h
+++ b/metrics.h
@@ -157,6 +157,20 @@
     kTerminationActionReasonTerminate
   };
 
+  enum CellularDropTechnology {
+    kCellularDropTechnology1Xrtt = 0,
+    kCellularDropTechnologyEdge = 1,
+    kCellularDropTechnologyEvdo = 2,
+    kCellularDropTechnologyGprs = 3,
+    kCellularDropTechnologyGsm = 4,
+    kCellularDropTechnologyHspa = 5,
+    kCellularDropTechnologyHspaPlus = 6,
+    kCellularDropTechnologyLte = 7,
+    kCellularDropTechnologyUmts = 8,
+    kCellularDropTechnologyUnknown = 9,
+    kCellularDropTechnologyMax
+  };
+
   static const char kMetricDisconnect[];
   static const int kMetricDisconnectMax;
   static const int kMetricDisconnectMin;
@@ -262,6 +276,13 @@
   // WiFiService Entry Fixup.
   static const char kMetricServiceFixupEntries[];
 
+  // Cellular specific statistics.
+  static const char kMetricCellularDrop[];
+  static const char kMetricCellularSignalStrengthBeforeDrop[];
+  static const int kMetricCellularSignalStrengthBeforeDropMax;
+  static const int kMetricCellularSignalStrengthBeforeDropMin;
+  static const int kMetricCellularSignalStrengthBeforeDropNumBuckets;
+
   Metrics();
   virtual ~Metrics();
 
@@ -374,6 +395,11 @@
   // Notifies this object that a device has completed the connect process.
   void NotifyDeviceConnectFinished(int interface_index);
 
+  // Notifies this object that a cellular device has been dropped by the
+  // network.
+  void NotifyCellularDeviceDrop(const std::string &network_technology,
+                                uint16 signal_strength);
+
   // Sends linear histogram data to UMA.
   virtual bool SendEnumToUMA(const std::string &name, int sample, int max);
 
