Create log event from key value maps.

BUG: b/112816333
Test: statsd test.
Change-Id: Ib66f06186abfacd77807436379e1e142a5b87c99
diff --git a/atoms.proto b/atoms.proto
index d7a926f..6065bbf 100644
--- a/atoms.proto
+++ b/atoms.proto
@@ -127,6 +127,7 @@
         WTFOccurred wtf_occurred = 80;
         LowMemReported low_mem_reported = 81;
         GenericAtom generic_atom = 82;
+        KeyValuePairsAtom key_value_pairs_atom = 83;
     }
 
     // Pulled events will start at field 10000.
@@ -177,6 +178,20 @@
     optional string tag = 2;
 }
 
+message KeyValuePair {
+    optional int32 key = 1;
+    oneof value {
+        int64 value_int = 2;
+        string value_str = 3;
+        float value_float = 4;
+    }
+}
+
+message KeyValuePairsAtom {
+    optional int32 uid = 1;
+    repeated KeyValuePair pairs = 2;
+}
+
 /*
  * *****************************************************************************
  * Below are all of the individual atoms that are logged by Android via statsd.