)]}'
{
  "log": [
    {
      "commit": "039deb4390fee97d50c474202dfe5de0616f9772",
      "tree": "4ca0b378c19e52edb6065ac14ed5bea4fd10ca4f",
      "parents": [
        "c863d506cfb0df24f8a5291a3ae33434e75f014d",
        "bd78991bc6a1319c97172a53fd1c0bddb3200332"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 20 20:30:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 20:30:31 2018 +0000"
      },
      "message": "Merge \"Moves the settings changed logging for statsd.\" into pi-dev"
    },
    {
      "commit": "aed0fed078170d466217ed71fd03cebee050e595",
      "tree": "2f798906ca0be7c71650b85dddae74a78a930935",
      "parents": [
        "8cf1ae492877182fe37aca4237f67fb0634047fb",
        "c40a19d2e43d5de3e036e926bf070220c2c865e6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 20 17:12:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 17:12:25 2018 +0000"
      },
      "message": "Merge \"Add uid field annotation in atoms.proto and statd memory usage optimization.\" into pi-dev"
    },
    {
      "commit": "bd78991bc6a1319c97172a53fd1c0bddb3200332",
      "tree": "cc587c92f49e919da849c4177c39803bb61d3359",
      "parents": [
        "02a4219cb7ff9ad848456903ac939f019d2161fc"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Fri Mar 16 17:19:55 2018 -0700"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Mon Mar 19 17:11:03 2018 -0700"
      },
      "message": "Moves the settings changed logging for statsd.\n\nPreviously, we wrote a log entry regardless of permission checks, so\nthe logging could be misleading. Now we only send the log to statsd\nafter verifying that this setting mutation is valid.\n\nTest: Flashed onto marlin-eng and verified stats-log as expected.\nBug: 73493944\nChange-Id: I2a8b052aa8c380ffc5d15caec089fffcdc5823f4\n"
    },
    {
      "commit": "9859c29a8feafbb2b262b7ced99736e54e3a8b43",
      "tree": "4e9431e4f48b879a0cf31b1a744a821df84ea539",
      "parents": [
        "88757bbb8b00464b237a0ffe3332e793c7e0c07c",
        "34900c3b4deb3a356997ab392234d74f8f0c3395"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 19 23:07:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 23:07:06 2018 +0000"
      },
      "message": "Merge \"Fix a UidMap crash.\" into pi-dev"
    },
    {
      "commit": "dba47fcd09a50bdddcf6509d0766dfca3a5d39a7",
      "tree": "2730e0616e5789099ffd9911e7c21ef316d69766",
      "parents": [
        "89b182890c15451e75c5ccf938f2de833b757bd6",
        "eee317b7b67f829b89eb62247fa58d9c30bb3698"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 19 20:45:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 20:45:55 2018 +0000"
      },
      "message": "Merge \"Atoms: Mobile Connection\" into pi-dev"
    },
    {
      "commit": "34900c3b4deb3a356997ab392234d74f8f0c3395",
      "tree": "3891292786f3990188d13d8a17592d873e4229ad",
      "parents": [
        "a946d88011340e75345ec0835ce8b383bd65ed74"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Mar 19 13:43:29 2018 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Mar 19 13:43:29 2018 -0700"
      },
      "message": "Fix a UidMap crash.\n\nBug: 75968717\n\nTest: CTS with sanitizer\nChange-Id: I9516d3b59f72816159c9fc1fe75ca64bfe21d799\n"
    },
    {
      "commit": "ea9c59b469d5748ea5c68894e6aecdace4738f28",
      "tree": "0f32c445e050645f9fa45e33aea7a3d1802e96be",
      "parents": [
        "017f44be88d68b721d443ee91f5436e1431fec53",
        "83fb1d58b5c27f531a606a97ff25e549ea57426b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 19 20:29:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 20:29:59 2018 +0000"
      },
      "message": "Merge \"Fix the test failure of LogSection, don\u0027t consider read log msg error as a failure since it is used to signal EOF.\" into pi-dev"
    },
    {
      "commit": "f5de606f5139cf21d1198190bda62965dd2028e9",
      "tree": "7986ee17b5281e223498dbab8a5f59e646074872",
      "parents": [
        "a6268f8c9d7e59c77cf8e144ccd21547a1ffaede",
        "8faaa01489d81b815e62e4416e78e4b5500b487a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 19 18:14:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 18:14:18 2018 +0000"
      },
      "message": "Merge \"Deletes default allowed_log_sources in statsd.\" into pi-dev"
    },
    {
      "commit": "eee317b7b67f829b89eb62247fa58d9c30bb3698",
      "tree": "29b44556a73f63ded0adb0ca28185b3ab07a98bc",
      "parents": [
        "f8cb545afb8f8ec35c3b028f47247e359a6602db"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Wed Mar 07 19:28:05 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Mar 19 09:48:22 2018 -0700"
      },
      "message": "Atoms: Mobile Connection\n\nAtom definitions for MobileConnectionStateChanged and\nMobileRadioTechnologyChanged\n\nAlso cleans up batterystats.\n\nBug: b/72320589\nTest: verified logs appear in adb logcat -b stats\nChange-Id: I9feb258cf6dd4a8c8bf1cffc9566b5d0a851a9fa\n"
    },
    {
      "commit": "790befca1deb009e578a05e42504d95e9f1a03b0",
      "tree": "6f9695ebea692b816436b3a21a4e763d172c2467",
      "parents": [
        "ad121b9fdc2de38fb79dfd3c7444e00743629f27",
        "555ad976372d025875651c6eea8811c9d152c698"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 19 05:54:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 05:54:22 2018 +0000"
      },
      "message": "Merge \"Delete TODO about renumbering statd atoms\" into pi-dev"
    },
    {
      "commit": "ad121b9fdc2de38fb79dfd3c7444e00743629f27",
      "tree": "3d7d5046437c8d2879c934c11ed0073a4147e8bd",
      "parents": [
        "0487601e57fa1d808ede432a86337bc1625677a6",
        "6a1d3af7f5167be234cf8b77b927c6b366660bfa"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 19 05:49:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 05:49:27 2018 +0000"
      },
      "message": "Merge changes I3ffb6e97,I689df136,Ia67a8eb6 into pi-dev\n\n* changes:\n  Statsd: remove DurationAnomalyTracker.resetStorage\n  Statsd AnomalyDetection stopAlarm also checks old\n  Statsd AnomalyDetection improvements\n"
    },
    {
      "commit": "83fb1d58b5c27f531a606a97ff25e549ea57426b",
      "tree": "d0caa0f3a63f2e960f7c1056f10bee4448161a2f",
      "parents": [
        "6604af68c5606a64ec103c973e5dea43e52817a7"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Mar 16 12:03:53 2018 -0700"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Mar 16 16:03:18 2018 -0700"
      },
      "message": "Fix the test failure of LogSection, don\u0027t consider read log msg error as\na failure since it is used to signal EOF.\n\nAdditionally tag this message as auto so user_id won\u0027t become explicit.\n\nBug: 75017304\nTest: atest incidentd_test\nChange-Id: I151bab5a72a532e7c9f54ae0686561001730bdeb\n"
    },
    {
      "commit": "555ad976372d025875651c6eea8811c9d152c698",
      "tree": "79a482478452d4a190111c397c57c597972ca9cd",
      "parents": [
        "d357342a4a761598742f4b1b60f70a4e9b88f997"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Mar 16 15:47:57 2018 -0700"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Mar 16 15:47:57 2018 -0700"
      },
      "message": "Delete TODO about renumbering statd atoms\n\nTest: none\nBug: 72553942\nChange-Id: If59ee407dffaed713a3a2f7543314aef3e70ef2c\n"
    },
    {
      "commit": "6a1d3af7f5167be234cf8b77b927c6b366660bfa",
      "tree": "5b0075973fb929c67be34a1ca276b15ca92503db",
      "parents": [
        "3e8cd35b551827234aa115700e50abb6c4721597"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Mar 16 15:25:49 2018 -0700"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Mar 16 15:25:49 2018 -0700"
      },
      "message": "Statsd: remove DurationAnomalyTracker.resetStorage\n\nThe explicit resetStorage function in the subclass isn\u0027t needed.\nIt does exactly what its superclass does.\nThe previous check for !mAlarms.empty() was actually not needed, since\nthere can be legit cases where !mAlarms.empty() (namely, when the\nmMostRecentBucket is moved forward initially - we may call reset, but we\nstill want the old alarms to remain).\n\nTest: still pass\nChange-Id: I3ffb6e97c02b75170c246f57d55ccf59cd368b9c\nFixes: 74607818\n"
    },
    {
      "commit": "c40a19d2e43d5de3e036e926bf070220c2c865e6",
      "tree": "4fa3688aee73fdd1a7295fd83a782665f7676650",
      "parents": [
        "ddbb9d00a262e46054636582d3dda02f57694d77"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Mar 15 16:48:25 2018 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Mar 16 13:56:38 2018 -0700"
      },
      "message": "Add uid field annotation in atoms.proto and statd memory usage optimization.\n\n[memory]\n  statsd binary size from 664k -\u003e 600k\n  memory usage 1978k -\u003e 1813k (with no configs)\n  + Avoid initialize any static map in statslog.h to avoid many copies of the map in each include.\n    - Do it in cpp so that it is initialized only in places that use them\n\n[Uid annotation]\n+ Uid annotation is needed for extracting uid from dimension for UidCpuPuller.\n+ After the change, stand-alone uids don\u0027t need to be in field 1 anymore.\n+ Also added exclusive bit annotation in AppDied\n+ Currently only allow one uid field in an Atom. This is to keep things simple until\n  we find an exception.\n\nTest: statsd_test\nBug: 73958484\nBug: 72129300\n\nChange-Id: I8a916d5c00d5930e24ae7e0825a57dea19c0e744\n"
    },
    {
      "commit": "3e8cd35b551827234aa115700e50abb6c4721597",
      "tree": "c0e06f024330cdd8e27756c09d1ce15d0bbaf115",
      "parents": [
        "6bf9825b1575bfc3c62ef0a5129f94b6a776ef66"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Mar 16 10:09:59 2018 -0700"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Mar 16 13:23:19 2018 -0700"
      },
      "message": "Statsd AnomalyDetection stopAlarm also checks old\n\nEvery time stopAlarm() is called, it should also,\nright then, check to see if the alarm should actually\nhave already fired (but didn\u0027t due to AlarmManager lag).\nRight now, the client needs to do this check separately,\nbut they always go together. Indeed, MaxDurationTracker\nforgot to do the check, which is a bug. It would make\nmuch more sense if the stopAlarm takes care of it for\nthem, to prevent such mistakes.\n\nBug: 75273733\nTest: make statsd_test \u0026\u0026 adb sync data \u0026\u0026 adb shell data/nativetest64/statsd_test/statsd_test\nTest: cts-tradefed run cts-dev -m CtsStatsdHostTestCases -t android.cts.statsd.alert\nChange-Id: I689df13690df822090ac34b1171e948be1ad0d9f\n"
    },
    {
      "commit": "6bf9825b1575bfc3c62ef0a5129f94b6a776ef66",
      "tree": "c7b7c9115869bf497e70ec88fcb8354839cfea04",
      "parents": [
        "d357342a4a761598742f4b1b60f70a4e9b88f997"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Wed Mar 14 10:44:24 2018 -0700"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Mar 16 11:34:21 2018 -0700"
      },
      "message": "Statsd AnomalyDetection improvements\n\nVarious fixes and improvements to statsd\u0027s anomaly detection.\n\nBug: 74607818\nTest: make statsd_test \u0026\u0026 adb sync data \u0026\u0026 adb shell data/nativetest64/statsd_test/statsd_test\n\nChange-Id: Ia67a8eb6da0ea9293f698949e1565f7f024a7cb9\n"
    },
    {
      "commit": "8faaa01489d81b815e62e4416e78e4b5500b487a",
      "tree": "97127c6dd26878d62a543770ec791c8822de3244",
      "parents": [
        "edd7215f1c719e49d3ceb4f60e4f06b83402a51b"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Feb 28 15:54:36 2018 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Thu Mar 15 17:45:58 2018 -0700"
      },
      "message": "Deletes default allowed_log_sources in statsd.\n\nWe should fail right away if someone forgets to set this field\ninstead of setting default values since this may lead to hard to\nexplain bugs in the future (eg, why isn\u0027t systemui logging an atom\nto a config).\n\nBug: 74608359\nTest: Verified unit-tests still pass on marlin-eng.\nChange-Id: Ibd8a6ccbc5cc8d2dfb8a1577c64bf9b49822a2c3\n"
    },
    {
      "commit": "bb75a991eb4f9ae9e5536a2596bfd9433af48033",
      "tree": "50c0656007b2b62752a27f3d9087895f7484abc0",
      "parents": [
        "2d76c3ce8216f18c0a81eb53c8479887581cc43c",
        "f384b900498b552c776931c8873e4bd03af36fe5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 15 22:57:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 15 22:57:09 2018 +0000"
      },
      "message": "Merge \"Removes stats_log proto from uid map in statsd.\" into pi-dev"
    },
    {
      "commit": "f384b900498b552c776931c8873e4bd03af36fe5",
      "tree": "e48bef946e80a43e27e37c61297a1bf0ee93914e",
      "parents": [
        "50f118a1214d00a4be1cadc9efb2bcf787927f3f"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Mar 14 18:36:45 2018 -0700"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Thu Mar 15 13:33:04 2018 -0700"
      },
      "message": "Removes stats_log proto from uid map in statsd.\n\nWe don\u0027t need to parse the proto of uid map, so we use the\nProtoOutputStreame class to generate the binary form of the proto\noutput that\u0027s needed for parsing the uid map data.\n\nTest: Verified unit-tests still pass.\nBug: 74010813\nChange-Id: Ia2f7572f3b78bb6f7b60e8b14cf5d65428469ab6\n"
    },
    {
      "commit": "ddf057416fa1926a7a3c6e2cef68631a8afdd120",
      "tree": "615b0b2ac9d9432f28c13ad9c6637aef335e60bf",
      "parents": [
        "50f118a1214d00a4be1cadc9efb2bcf787927f3f",
        "6355d2f3ab5febbd25331a72671eea47ef5f43ac"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 15 17:32:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 15 17:32:22 2018 +0000"
      },
      "message": "Merge \"Wrap fd with unique_fd so it won\u0027t leak.\" into pi-dev"
    },
    {
      "commit": "a825c8ee5d3b0c2dac954f2994d70968759eb1d2",
      "tree": "d9356cb1d32e87a3fb320501bec4ede53501ca84",
      "parents": [
        "9ba6ed4d129918848e8e4bada20478beacd7c666",
        "e06cfd777a501eca17f8dd796b32ad61002c5875"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 15 02:27:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 15 02:27:15 2018 +0000"
      },
      "message": "Merge \"Support slicing by chain.\" into pi-dev"
    },
    {
      "commit": "6355d2f3ab5febbd25331a72671eea47ef5f43ac",
      "tree": "bf9535c065fe87adbb4d34c5d796d860608b00d7",
      "parents": [
        "874b0091372a5a74e8a959c15dc93b4e82a2329d"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Mar 14 15:18:02 2018 -0700"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Mar 14 16:26:28 2018 -0700"
      },
      "message": "Wrap fd with unique_fd so it won\u0027t leak.\n\nBug: 74021345\nTest: manual and atest incidentd_test\nChange-Id: Ib1000bfe6917c3d5cae7b9edce5b67d50897e10d\n"
    },
    {
      "commit": "8568931d6f73081a394230fedb4021865357e1c2",
      "tree": "281fcdbd9d0e543daa880e6c54194b4e3e465f35",
      "parents": [
        "3731e47d23f50179e44c7db940c479619fac5364",
        "665208d74345d779bed8724862e8d0d1c46a7a76"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 14 23:05:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 14 23:05:33 2018 +0000"
      },
      "message": "Merge \"Add stats from storage manager to dumpsys result\" into pi-dev"
    },
    {
      "commit": "e06cfd777a501eca17f8dd796b32ad61002c5875",
      "tree": "3622c797a04cc76d2a68ac0ca9bd014aee22611d",
      "parents": [
        "d357342a4a761598742f4b1b60f70a4e9b88f997"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Sat Mar 10 23:22:59 2018 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Wed Mar 14 15:36:24 2018 -0700"
      },
      "message": "Support slicing by chain.\n\nBUG: b/73975181\n\nTest: statsd test\nChange-Id: I913ae0f68ff21ed0703bb5da9c60d3eaa3bf5981\n"
    },
    {
      "commit": "665208d74345d779bed8724862e8d0d1c46a7a76",
      "tree": "3f3145a4634856e7303deeb5fc7492d34b774658",
      "parents": [
        "cb7b04a56efa5edb3ce6cea5818ea977fa806a4e"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Tue Mar 13 18:08:09 2018 -0700"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Wed Mar 14 12:46:27 2018 -0700"
      },
      "message": "Add stats from storage manager to dumpsys result\n\nBug: 74601313\nTest: manual test, statsd_test\nChange-Id: Ifdde6bb10d29f3983b0c27a66a6e30f1f40308ee\n"
    },
    {
      "commit": "c7ce1a09783e7b1d32576d381e9bfe312c57c089",
      "tree": "33ae598c75afc5773d5fa796f40e3fea98c5b8f6",
      "parents": [
        "a9e73469c59df4ea596d3872e90b1d13fcbac779",
        "3fa5d7fb236f263125bc6364ea693e5e9f122976"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 14 19:03:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 14 19:03:06 2018 +0000"
      },
      "message": "Merge \"Add wall clock timestamp for ConfigMetricsReport and gauge atoms.\" into pi-dev"
    },
    {
      "commit": "a9e73469c59df4ea596d3872e90b1d13fcbac779",
      "tree": "bcc7c702cc2743f666700669ca3f2fd200a9ca89",
      "parents": [
        "574182372975e8ed5b6dcb6ca0dd6f8c6ce72de4",
        "b19425e01113f3341c48f5283affd386658281b0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 14 18:48:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 14 18:48:20 2018 +0000"
      },
      "message": "Merge \"Remove unused shared lib from statsd\" into pi-dev"
    },
    {
      "commit": "aaadf6663fdc8787947d67bc14841d20094bd072",
      "tree": "195b881502b08f7dcb7641731ce3bb491906d7e0",
      "parents": [
        "dc8e7fa0ae99a3b8f67519de090a119dbda9b622",
        "3f5ab3ff1d66e53c26e3a5951dc0804bca5467a8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 14 16:51:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 14 16:51:41 2018 +0000"
      },
      "message": "Merge \"Statsd: Remove storage of bucketNum\" into pi-dev"
    },
    {
      "commit": "dc8e7fa0ae99a3b8f67519de090a119dbda9b622",
      "tree": "fc743fd8ecf2b751b7176c7b9dbfbe9b628b0cc6",
      "parents": [
        "d854d917ecf7826ab5a48c62d0d8496c0b399d6e",
        "a78d00874d4e274937734a1b73aef4b6389eb3cd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 14 16:45:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 14 16:45:49 2018 +0000"
      },
      "message": "Merge \"Dump the stats for count/gauge/value metrics.\" into pi-dev"
    },
    {
      "commit": "a78d00874d4e274937734a1b73aef4b6389eb3cd",
      "tree": "e918c2f74cc166b43bd9da17c26a937586a36292",
      "parents": [
        "7557234316248d886cafaedfa6c20297a8508688"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Mon Mar 12 12:02:56 2018 -0700"
      },
      "committer": {
        "name": "Yang Lu",
        "email": "yanglu@google.com",
        "time": "Wed Mar 14 16:45:37 2018 +0000"
      },
      "message": "Dump the stats for count/gauge/value metrics.\n\nBug: b/74159560\n\nTest: statsd test\nChange-Id: I1410309ecfdfc2a5becf8d0c620c68a621ebc5fa\n"
    },
    {
      "commit": "3ce667a466423a7359d1dbb9c983aa29888dd5b4",
      "tree": "9a839d668f0b361078b721bee67e2aa786ee613b",
      "parents": [
        "b129d37013ee5c485e86c8057358d6749fd67eca",
        "28d627e4bebf639d457463666b38c60cafa91e9d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 14 05:35:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 14 05:35:03 2018 +0000"
      },
      "message": "Merge \"Add vendor-logged stats to statsd.\" into pi-dev"
    },
    {
      "commit": "28d627e4bebf639d457463666b38c60cafa91e9d",
      "tree": "703bcd04d05b9e30c76bbbf8556d0889558b4312",
      "parents": [
        "f7e6b29718e3f16d20ba89170379d49aeaf3f18a"
      ],
      "author": {
        "name": "Andrew Chant",
        "email": "achant@google.com",
        "time": "Thu Feb 22 15:17:05 2018 -0800"
      },
      "committer": {
        "name": "Andrew Chant",
        "email": "achant@google.com",
        "time": "Wed Mar 14 05:34:47 2018 +0000"
      },
      "message": "Add vendor-logged stats to statsd.\n\nAdd atoms to statsd that are logged by code residing in /vendor.\nThese atoms are reported from code in /vendor, and\nrely on a vendor-provided /system daemon to log the atoms to statslogd.\n\nTest: Built \u0026 reported manually.\nBug: 74261180\nBug: 74261750\nBug: 74258154\nBug: 74260998\n\nChange-Id: I858a1266c4c212808fb63276439f1dd6cf2a387e\n"
    },
    {
      "commit": "a32913f0871c0556100a6188346f7afbb30fcc4b",
      "tree": "3dad9d8a085537adc049e3a542561c183917f0ef",
      "parents": [
        "feb9daffff9b28a529b4731e7115beb86b2fa2c6",
        "4490765d1552f1a2ae114f9c301386823b930828"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Tue Mar 13 21:38:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 21:38:16 2018 +0000"
      },
      "message": "Merge \"Add a check for duplicate configuration on statsd\" into pi-dev"
    },
    {
      "commit": "3f5ab3ff1d66e53c26e3a5951dc0804bca5467a8",
      "tree": "d56380984386bb9d0fc93f7a2a5a8b981cf2d7bf",
      "parents": [
        "b90670cf1752d79ffed020bf4653b300c417d57b"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Mar 13 12:18:21 2018 -0700"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Mar 13 12:18:21 2018 -0700"
      },
      "message": "Statsd: Remove storage of bucketNum\n\nPast buckets had a field mBucketNum, storing the\n\"bucket number\" they represented. Currently, the concept\nof bucket number is used by Anomaly Detection (although this\nmay not be necessary), but these stored values are not used at all,\nso removing them will save RAM.\n\nTest: statsd tests still pass\nBug: 74607818\nChange-Id: Iacc343bc39c5035f6e2f236c03de1d91606eff4c\n"
    },
    {
      "commit": "4490765d1552f1a2ae114f9c301386823b930828",
      "tree": "210d10ab5f8b168e667cd0d39cf5f6e35fe43aac",
      "parents": [
        "81cacb274c0ee2ecf1c2f8a5c9bfc6c0582e0d6c"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Mon Mar 12 20:44:05 2018 -0700"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Tue Mar 13 11:15:00 2018 -0700"
      },
      "message": "Add a check for duplicate configuration on statsd\n\nBug: 74349901\nTest: statsd_test, manual testing of functionality\n\nChange-Id: Ia4e3e51bfe61f5f773cecadda23e53d24b768dc8\n"
    },
    {
      "commit": "5d991e1f2530caaa653e41e85d78a0b0c188f180",
      "tree": "cafcd6bbf04cb2c2b87af722ce759340645a2337",
      "parents": [
        "ee83dd2cd04387852997aa4c2cf66120612b9cb5"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Mar 09 19:48:11 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Mar 12 21:03:22 2018 -0700"
      },
      "message": "Atoms: Bluetooth\n\nAdds atom defininitions for some bluetooth atoms.\nLogging will go in aosp. ag/3668205 contained most of this change, but\nis being split up and moved to pi-dev and aosp.\n\nBug: 74457175, 72320489\nTest: build success on marlin\nChange-Id: Ib14a74eabfab08bbae5d4d549244f1022e8c34f0\n"
    },
    {
      "commit": "81cacb274c0ee2ecf1c2f8a5c9bfc6c0582e0d6c",
      "tree": "358493ea807cdacaf59eb39c1177e22bec9df0c9",
      "parents": [
        "9722ec74e0ed00d2cc23c9f7f6c96e32ca57cd1d",
        "058d86982689071f3d26514f0a3c74d9feddf1d0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 12 18:27:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 12 18:27:02 2018 +0000"
      },
      "message": "Merge \"Statsd BroadcastSubscribers can receive \u0027cookies\u0027\" into pi-dev"
    },
    {
      "commit": "9722ec74e0ed00d2cc23c9f7f6c96e32ca57cd1d",
      "tree": "74750108a6242d96289d463d96e3ea4f13f7c5f7",
      "parents": [
        "82bc5baeb505dfbd04eb4fe4a3e3055cfb6ee980",
        "e05c8e777646c51a8fdbda8e2d5ccd35a991d03d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 12 18:25:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 12 18:25:00 2018 +0000"
      },
      "message": "Merge \"Remove kPullerCooldownMap from code\" into pi-dev"
    },
    {
      "commit": "3fa5d7fb236f263125bc6364ea693e5e9f122976",
      "tree": "5815d5d4dfd07d906f79d65346651ba875c2ee9b",
      "parents": [
        "3dc91c1426ef4da53ea85039c047d25b2de4ef47"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Sat Mar 10 21:50:27 2018 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Sat Mar 10 22:25:28 2018 -0800"
      },
      "message": "Add wall clock timestamp for ConfigMetricsReport and gauge atoms.\n\nFix the bug when serializing multiple atoms in gauge metric\n\nBUG: b/74159560\n\nTest: new test for ALL_CONDITION_CHANGES sampling method.\nChange-Id: I6d33c1efbac92b6e13be2d64c323e090cb1f84aa\n"
    },
    {
      "commit": "072a82abf370d96a6549d401314f1e7bc2dd0538",
      "tree": "d02482422cce2a578e3fd4c974e4bc745e9182d2",
      "parents": [
        "79dd8b9c2229aa23b388915582e5f8f92f535715",
        "423f753ea3c304805d278e0ccbcbf2ef5da311e9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 10 00:55:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 10 00:55:21 2018 +0000"
      },
      "message": "Merge \"statsd AnomalyDetection improvements\" into pi-dev"
    },
    {
      "commit": "423f753ea3c304805d278e0ccbcbf2ef5da311e9",
      "tree": "3e4c9d4a46c415a7e03f88757b4108fdbd7f1c0a",
      "parents": [
        "983c1e54e1ae651ffb4c0f1ce34a561624af6060"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Thu Mar 08 15:45:14 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Mar 09 11:09:51 2018 -0800"
      },
      "message": "statsd AnomalyDetection improvements\n\nRe-add check to make sure that bad config won\u0027t cause duration\nanomaly detection to crash stastd\n\nBug: 74399947\nTest: manual\nChange-Id: Id175d233685c133ec3d4231272fe5708250dee6b\n"
    },
    {
      "commit": "058d86982689071f3d26514f0a3c74d9feddf1d0",
      "tree": "f518bf508a0f0b531faf2e861680cef696317090",
      "parents": [
        "983c1e54e1ae651ffb4c0f1ce34a561624af6060"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Mar 06 09:53:47 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Mar 09 10:44:48 2018 -0800"
      },
      "message": "Statsd BroadcastSubscribers can receive \u0027cookies\u0027\n\nSubscribers can now provide additional Strings that will be passed back to\nit when an anomaly is detected. This way, the Subscriber can be informed\nabout anomaly-specific information has meaning to it.\nStatsd itself does not use these strings and doesn\u0027t care what they are\n- it simply passes them back to the subscriber.\n\nChange-Id: If269872397c4ed2c67e41d54d850cdc664d4f73e\nFixes: 74012329\nTest: run cts-dev -m CtsStatsdHostTestCases -t android.cts.statsd.alert.BroadcastSubscriberTests\n"
    },
    {
      "commit": "3ce208c1e9015aa61e1250d0896306ff0624b1ca",
      "tree": "ae87eaa0b4d25c2de7c9f81fa953bbdd671d1868",
      "parents": [
        "df9737d28612c269f60db44d2f1407f179588c78",
        "66781e1bf545f715d762d147efad589832b9cbe3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 07:37:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 07:37:43 2018 +0000"
      },
      "message": "Merge \"Add team members in OWNER file\" into pi-dev"
    },
    {
      "commit": "66781e1bf545f715d762d147efad589832b9cbe3",
      "tree": "a10fa795d51eb9e8a6e4a405dc3370a1e2f4defb",
      "parents": [
        "0aa191ccbf159b0d6127cfc190e2c4d5fa319eb9"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Thu Mar 08 18:41:03 2018 -0800"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Fri Mar 09 07:37:36 2018 +0000"
      },
      "message": "Add team members in OWNER file\n\nBug: 74415902\n\nTest: no test necessary\nChange-Id: I39d0a5cb9c6e8520fd29881442e66961096d52fc\n"
    },
    {
      "commit": "7ad26e4bad08ff0ddff69d5ba5babf253f67110e",
      "tree": "e3f53111d66e48348c18dcbbbf249b6306455a21",
      "parents": [
        "f5435948d8b646a7ca3ccb63f51c2775e392de88",
        "2fb5653b9761dba5fa29d9abd84e938e59932075"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 03:23:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 03:23:17 2018 +0000"
      },
      "message": "Merge \"Fix statsd crash due to bad bucket index\" into pi-dev"
    },
    {
      "commit": "12fa6b4ff6bbcc1a9663ac5ef3692ab450f09a20",
      "tree": "41c93d5de9da9ad2ba1f8cf391453e7d6b2b29cd",
      "parents": [
        "ec66e9e726f36144de73c577f5269fedf2231c1b",
        "86dce413f808ca9ef160e8762f74deaafd7c23ae"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 01:57:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 01:57:32 2018 +0000"
      },
      "message": "Merge \"Optimize incidentd memory usage\" into pi-dev"
    },
    {
      "commit": "ec66e9e726f36144de73c577f5269fedf2231c1b",
      "tree": "2b2c6bb109223fb5d480dfecf4afba0fdf253618",
      "parents": [
        "0aa191ccbf159b0d6127cfc190e2c4d5fa319eb9",
        "1cf2ac5241b848ea160b65604bc894d08cba8518"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 01:18:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 01:18:27 2018 +0000"
      },
      "message": "Merge \"Write data to file when StatsCompanionSerivice (system_server) crashes\" into pi-dev"
    },
    {
      "commit": "b19425e01113f3341c48f5283affd386658281b0",
      "tree": "df79e7b6eba16d245e47392371e0b3c2fe3315bf",
      "parents": [
        "7d968346bf8e2c2e6814cf7ecb25894ced2b23db"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Mar 08 14:38:12 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Mar 08 14:38:12 2018 -0800"
      },
      "message": "Remove unused shared lib from statsd\n\nTest: build statsd, and statsd_test\n\nBug: 72129300\nChange-Id: I0ebff977dabe796799a0d41c64adb2c2f2e9035e\n"
    },
    {
      "commit": "2fb5653b9761dba5fa29d9abd84e938e59932075",
      "tree": "49e577405b4c8f6aee13248a086d93ebba75d15b",
      "parents": [
        "983c1e54e1ae651ffb4c0f1ce34a561624af6060"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Thu Mar 08 11:16:48 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Thu Mar 08 13:34:16 2018 -0800"
      },
      "message": "Fix statsd crash due to bad bucket index\n\nStatsd crashes because predictAnomalyTimestamp requests past buckets\nthat occurred before time began. That\u0027s fine, but statsd needs to know\nthat the data before time began was 0 (instead of reading before the\nbeginning of the array and crashing).\n\nAnomalyTracker\u0027s use of bucketNumbers is in general risky, and should be\nauditted. But this cl will fix the current crashing.\n\nBug: 73825954\nTest: Definitely necessary. Will write during audit.\nChange-Id: I990ff134153f290d3089bfe3440d838f47996b63\n"
    },
    {
      "commit": "e05c8e777646c51a8fdbda8e2d5ccd35a991d03d",
      "tree": "128b09b7ea9a19c8049641e645df06375f3254da",
      "parents": [
        "62ff4029e4cc0184f19301282800609a315d8f0b"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Thu Mar 08 12:43:58 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Thu Mar 08 12:43:58 2018 -0800"
      },
      "message": "Remove kPullerCooldownMap from code\n\nremove dead code\n\nBug: 74032852\nTest: manual test\nChange-Id: I0da74be21bab5842a89ede2a272094ba5ee33d80\n"
    },
    {
      "commit": "641eb554fdc916b4dd1ae149c12dfd29feeea51e",
      "tree": "a327b2528087613dae91090665d047a5b66be066",
      "parents": [
        "7b894b3fcdd11038bb9501be0dd3a8de67aa5a22",
        "13fb7e4eeaf7aee408821afe7ee55a5167e49e59"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 08 04:03:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 04:03:19 2018 +0000"
      },
      "message": "Merge \"Statsd cpu optimizaton\" into pi-dev"
    },
    {
      "commit": "86dce413f808ca9ef160e8762f74deaafd7c23ae",
      "tree": "ffb221260c9ec970166fad35665c094d9dc8df3d",
      "parents": [
        "09ed26a046c3824d06c283459532f4c8ee517711"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Mar 07 11:36:57 2018 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Mar 07 18:25:44 2018 -0800"
      },
      "message": "Optimize incidentd memory usage\n\n1. Remove dependency of libprotobuf-cpp-lite, saves .so mmap ~200KB\n2. Don\u0027t use auto except iterator for readability.\n\nBug: 74254200\nTest: adb shell dumpsys meminfo `pid incidentd`\nChange-Id: If6198521c3b80929d6ea3f7ed466b5195991ccfd\n"
    },
    {
      "commit": "1cf2ac5241b848ea160b65604bc894d08cba8518",
      "tree": "4c1287ec9ec0cd299912c5b40e3b6af07d0842af",
      "parents": [
        "c8a6305ddf61bb87bad9639cace9307886597714"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Wed Mar 07 17:59:13 2018 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Wed Mar 07 17:59:13 2018 -0800"
      },
      "message": "Write data to file when StatsCompanionSerivice (system_server) crashes\n\nBug: 73352867\nChange-Id: Iecbb1ae3e29264975771155a878b368cfc2f50f0\nTest: statsd_test\n"
    },
    {
      "commit": "09ed26a046c3824d06c283459532f4c8ee517711",
      "tree": "bbdb290826c6e91f7586f1fcbe7a0bf025c9f3f2",
      "parents": [
        "56055c0bb48716b5e71473d6557caf67be330cd0",
        "eadd123d68850cb27aa6d030ade6190e30991b19"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 08 01:55:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 01:55:13 2018 +0000"
      },
      "message": "Merge \"Dumping stack traces to proto.\" into pi-dev"
    },
    {
      "commit": "13fb7e4eeaf7aee408821afe7ee55a5167e49e59",
      "tree": "a9276dfa03587fdaae989e4090d8dacbafd6778d",
      "parents": [
        "c8a6305ddf61bb87bad9639cace9307886597714"
      ],
      "author": {
        "name": "Yangster",
        "email": "yanglu@google.com",
        "time": "Wed Mar 07 17:30:49 2018 -0800"
      },
      "committer": {
        "name": "Yangster",
        "email": "yanglu@google.com",
        "time": "Wed Mar 07 17:36:07 2018 -0800"
      },
      "message": "Statsd cpu optimizaton\n\n- cache the changed dimensions in condition tracker.\n- avoid query condition wizard when unnecessary.\n- avoid copy dimension keys in condition key generation.\n\nTest: statsd tests.\n\nBUG: b/73959649\nChange-Id: I17d68e2a82643de3f421309841e75f84c6fd8f43\n"
    },
    {
      "commit": "c8a6305ddf61bb87bad9639cace9307886597714",
      "tree": "b709c7eedc7c784be2bf69de962be2d702b0b0cd",
      "parents": [
        "e840cc4ecab6570a0c8873ed552a231e18cf516e",
        "ec67661bdfe1814039f625575176678219acc7b1"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Thu Mar 08 00:24:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 00:24:00 2018 +0000"
      },
      "message": "Merge \"Refactor cpu stats pullers\" into pi-dev"
    },
    {
      "commit": "eadd123d68850cb27aa6d030ade6190e30991b19",
      "tree": "28ee59bef758929559dde7b34a9dbe962f1196c9",
      "parents": [
        "0efaf2088d8e3ba8ec560aa5eb597ef456b5213e"
      ],
      "author": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Mon Feb 05 16:45:13 2018 -0800"
      },
      "committer": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Wed Mar 07 21:50:12 2018 +0000"
      },
      "message": "Dumping stack traces to proto.\n\nBug: 72177715\nTest: flash device and check incident.proto output\nChange-Id: Id2a15e0fc62b66efe875949af97f0eb651c7e322\n(cherry picked from commit 5c804e2b9893c7892900148229cf19fa6268e7dc)\n"
    },
    {
      "commit": "ec67661bdfe1814039f625575176678219acc7b1",
      "tree": "e73405411d9c04b9c9932fa32a3bfb0a6a0aca0f",
      "parents": [
        "8c76ca03418884d8e60bda1f5695d44563b20007"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Wed Mar 07 09:19:17 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Wed Mar 07 21:43:00 2018 +0000"
      },
      "message": "Refactor cpu stats pullers\n\nuse same cpu stats readers with BatteryStats so that\n1) both throttle to avoid too frequent pulls\n2) cached value is served within throttle interval to avoid double\npulling by both statsd and BatteryStats\n\nTo run unit tests:\nbit\nFrameworksCoreTests:com.android.internal.os.KernelUidCpuFreqTimeReaderTest\nbit\nFrameworksCoreTests:com.android.internal.os.KernelUidCpuClusterTimeReaderTest\nbit\nFrameworksCoreTests:com.android.internal.os.KernelUidCpuActiveTimeReaderTest\n\nmake -j56 statsd_test \u0026\u0026 adb sync data \u0026\u0026 adb shell\n/data/nativetest64/statsd_test/statsd_test\n\nTest: cts test, unit test\nBug: 73745189\nBug: 73780619\nBug: 73360959\n\nMerged-In: I10a9bc91ca67fa812f4cd71c4fbd73c1a5ba580e\n\nChange-Id: I10a9bc91ca67fa812f4cd71c4fbd73c1a5ba580e\n"
    },
    {
      "commit": "d137c872cdc5e157c0ff65076689f7c4552a9013",
      "tree": "3c2dffe6115c25dc65faf975c7d3bc12f397bde4",
      "parents": [
        "aa79f03ca6c4c5a3a262aeaf2b608ffd4807ab13"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 23 12:57:51 2018 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Mar 07 11:42:04 2018 +0000"
      },
      "message": "frameworks/base: Set LOCAL_SDK_VERSION where possible.\n\nThis change sets LOCAL_SDK_VERSION for all packages where\nthis is possible without breaking the build, and\nLOCAL_PRIVATE_PLATFORM_APIS :\u003d true otherwise.\n\nSetting one of these two will be made required soon, and this\nis a change in preparation for that. Not setting LOCAL_SDK_VERSION\nmakes the app implicitly depend on the bootclasspath, which is\noften not required. This change effectively makes depending on\nprivate apis opt-in rather than opt-out.\n\nTest: make relevant packages\nBug: 73535841\nExempt-From-Owner-Approval: Global cleanup\nChange-Id: I26458e41ecb84de91ac9a356a5d4bafb44f463c1\n"
    },
    {
      "commit": "f9500e9c01f6e515e78952beecb827ff80e900a6",
      "tree": "630fbc673c123294ba5f90c2c6a7eae37b500f18",
      "parents": [
        "76439d832f6c4535535d0e3288be9669f76b128b",
        "a883b37fc0bd6ae2536358b23b592a8379d5fed9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 07 00:41:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 00:41:35 2018 +0000"
      },
      "message": "Merge \"Atom: ResourceConfigurationChanged\" into pi-dev"
    },
    {
      "commit": "a883b37fc0bd6ae2536358b23b592a8379d5fed9",
      "tree": "2c6052b4b7fd65b1a72cf7c9db55bb1b8e56cbfa",
      "parents": [
        "983c1e54e1ae651ffb4c0f1ce34a561624af6060"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Thu Feb 15 11:30:01 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Tue Mar 06 17:49:39 2018 +0000"
      },
      "message": "Atom: ResourceConfigurationChanged\n\nLogs when the configuration changes, such as when the screen orientation\nchanges. Logs information including font scale, screen width/height,\nscreen orientation, color mode.\n\nTest: verified atom appears in adb logcat -b stats when screen\norientation changes.\n\nChange-Id: Ifc3f3c62c5e386960b77d78f2ff2f17fc27db2b8\n(cherry picked from commit 8a6df9290f82ee195ecc05df340035a82dc34a40)\n"
    },
    {
      "commit": "5ee0787024cc446a21008ff5710dec19c6afc834",
      "tree": "d4dec75efaf8df8de9385f298d3ff91193048390",
      "parents": [
        "d97a0f1ac58d64462316f2b0d32162a01e3f828c"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon Mar 05 18:18:27 2018 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon Mar 05 18:18:27 2018 -0800"
      },
      "message": "Use uint64_t instead of long long as API type for consistent reason.\n\nBug: 74118023\nTest: manual\nChange-Id: Icd5f506c76d3a008a79cb6c9d2061962ca7fdd40\n"
    },
    {
      "commit": "076eebfb3d5c2db573972817a6ef587237975d07",
      "tree": "bc3a27aeb32074a979d3cc906146457b8b30cbc7",
      "parents": [
        "3a4f974c911291cdcb18154d21dd5a562f740781",
        "aea8d10b1ed867c31a173ecb678e3a73c430243d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 05 05:43:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 05 05:43:44 2018 +0000"
      },
      "message": "Merge \"Add #alerts to StatsdStats printout\""
    },
    {
      "commit": "b603fb06ba2dfd459f2e9043f3e5432d23834704",
      "tree": "c7199e8f03f1e0caf7738ef5fdccc94a9f7aeb96",
      "parents": [
        "9055c1b6afc2b1afc7b3bb112d994572f858a216",
        "06dba5d79c096b02d3ba6fb73e64451ff12e388d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 23:38:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 23:38:21 2018 +0000"
      },
      "message": "Merge \"Add API to let metrics directly drop data without writing to an output.\""
    },
    {
      "commit": "644e15d5bd476009178bdfb16e0a4ed94255f3e6",
      "tree": "e33bad2f9ec243feda9c2106362d740b42c50e02",
      "parents": [
        "8e4419a087a6112d1a656636175fe765d0cd1916",
        "20e9e6231a1aba79b4e5ae47f3ccfb066920e60f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 19:41:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 19:41:56 2018 +0000"
      },
      "message": "Merge \"Reduce statsd binary size from 730KB-\u003e 664KB\""
    },
    {
      "commit": "a793e508496e12c021881a49fdc17d6a1024eee0",
      "tree": "b94c90cae0eb19db72d8071ce06e6ad199c1b162",
      "parents": [
        "ffcd4bc88f62d49ce3cd178cfbba4c98267e6ab1",
        "99427efbe85cc5dd9bcc40dd47bf05ad8600cecb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 19:12:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 19:12:18 2018 +0000"
      },
      "message": "Merge \"Add the MetricDimensionKey to the log when anomaly happens.\""
    },
    {
      "commit": "aea8d10b1ed867c31a173ecb678e3a73c430243d",
      "tree": "7a4d6adbca4816febf7332cc85e0200e5ab4e2df",
      "parents": [
        "53f259280f76c6d34ca08d32f67ada5d212e434e"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Mar 02 10:37:24 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Mar 02 10:37:24 2018 -0800"
      },
      "message": "Add #alerts to StatsdStats printout\n\nWhen print-stats is called, now #alert\u003d0 won\u0027t always be 0.\n\nChange-Id: If618c9a0890b45f7211f05853f4d97332d7f4cf1\nFixes: 73493830\nTest: Manual confirmation\n"
    },
    {
      "commit": "cbecb1a0060b79d5b1453b793fc32050f2700599",
      "tree": "c6c175b2c27338c7777b2302a2ee6b15149e91fe",
      "parents": [
        "b2cdabf7aa209c20e1c0492855713741e885736b",
        "580ea321b16c71ddec515553761d6f37359bd3a0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 17:54:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 17:54:08 2018 +0000"
      },
      "message": "Merge \"Add StateTracker.\""
    },
    {
      "commit": "06dba5d79c096b02d3ba6fb73e64451ff12e388d",
      "tree": "b9b61d75abe1019a931afaa6428f0b3a16482126",
      "parents": [
        "aec6950118319e93084f4c3d2ba6087e8f7e15df"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Jan 26 13:38:16 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Mar 01 15:22:55 2018 -0800"
      },
      "message": "Add API to let metrics directly drop data without writing to an output.\n\n+ Metrics will do flushIfNeeded() to correctly move the clock and informing\n  AnomalyTracker the past bucket info, and then clear past buckets.\n\n+ We will still keep the current bucket data for the validity of the future metrics.\n\nBug: 70571383\nTest: statsd_test\nChange-Id: Ib13c45574974e7b4e82bd8f305091dc93bda76f5\n"
    },
    {
      "commit": "51b54606d70436f79d812defca3f73bff006149d",
      "tree": "5dd68cf4e5810fd947b6af234938a1fdd79db4ff",
      "parents": [
        "b437f30f286131cc3a01bca7b56ca7dcab37cf74"
      ],
      "author": {
        "name": "Rajeev Kumar",
        "email": "rajekumar@google.com",
        "time": "Thu Mar 01 12:18:26 2018 -0800"
      },
      "committer": {
        "name": "Rajeev Kumar",
        "email": "rajekumar@google.com",
        "time": "Thu Mar 01 13:28:31 2018 -0800"
      },
      "message": "Create a pushed atom that gets logged when the ActivityManagerService detects that an app died.\n\nTest: Manual\nBug: 73660232\nChange-Id: I8e1fda35deb1e6876da0b6638fefea9f1b92b641\n"
    },
    {
      "commit": "99427efbe85cc5dd9bcc40dd47bf05ad8600cecb",
      "tree": "b1d0e97ca2e5b8c1c3bf705ab86c9b2d1dcd3c88",
      "parents": [
        "aec6950118319e93084f4c3d2ba6087e8f7e15df"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Mar 01 13:03:38 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Mar 01 13:03:38 2018 -0800"
      },
      "message": "Add the MetricDimensionKey to the log when anomaly happens.\n\nTest: statsd_test\nChange-Id: I9454da23a95d106a6e70249bb26c04492fee9135\n"
    },
    {
      "commit": "580ea321b16c71ddec515553761d6f37359bd3a0",
      "tree": "bbc7c757480eac4e3db44e6be7bd389cfc8369a0",
      "parents": [
        "aec6950118319e93084f4c3d2ba6087e8f7e15df"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Feb 26 14:21:54 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Feb 28 16:57:03 2018 -0800"
      },
      "message": "Add StateTracker.\n\nStateTracker is a special condition tracker that\u0027s based on a state atom.\nState atoms are annotated in atoms.proto.\n\nThe rules for StateTracker:\n 1. must not have \"stop\". must have \"dimension\"\n 2. must be based on a state atom.\n 3. it must have the all primary fields and the exclusive state field in its dimension.\n\n For example UidProcessStateTracker, will have output dimension {uid, state}.\n\nTest: unit tests added.\nChange-Id: I6b77e58e9fabe61f7326daf929577d8b2cfbf27b\n"
    },
    {
      "commit": "20e9e6231a1aba79b4e5ae47f3ccfb066920e60f",
      "tree": "6489cfba8c2a90806b580ff15f076afeec1d82d6",
      "parents": [
        "aec6950118319e93084f4c3d2ba6087e8f7e15df"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Feb 28 11:18:51 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Feb 28 16:20:54 2018 -0800"
      },
      "message": "Reduce statsd binary size from 730KB-\u003e 664KB\n\n1. StatsdStats does not use the proto object in memory anymore.\n2. lite_static -\u003e lite\n3. don\u0027t use sstream\n\nBug: 72129300\nTest: statsd_test\n\nChange-Id: I8a5adaf222d4d5034e8bf115215fb6dd5f042cac\n"
    },
    {
      "commit": "780bcc1f5a874b4454503518fc4df75e6393f154",
      "tree": "c917c07d7e3ee5198c6e7a0b3c149b44fac9d04e",
      "parents": [
        "23bb0505757b25884aeaba2e1fdcc486f65c0abd",
        "06ebd1af8ec49d647bc59ac3d3d5a0930095ba45"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 23:05:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 23:05:09 2018 +0000"
      },
      "message": "Merge \"Fix heap buffer overflow\""
    },
    {
      "commit": "6158952c30497fa10bed5f7955cfb25c394e7593",
      "tree": "1fe5a8f455c55299ce75299bc6895f61134612df",
      "parents": [
        "fa3ed7540676dc33fb2ced05dfa6b8467db5033f",
        "8f42ba0e2c70a441bc7821dd32d5bab1c562b062"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 19:37:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 19:37:05 2018 +0000"
      },
      "message": "Merge \"Avoid reading logs that were processed before.\""
    },
    {
      "commit": "06ebd1af8ec49d647bc59ac3d3d5a0930095ba45",
      "tree": "0954654109ff22f74d3ac1c1df2602c346532ef1",
      "parents": [
        "b1d5004cf59ff4d48dc72c8df761280801458653"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Feb 28 11:25:58 2018 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Feb 28 11:25:58 2018 -0800"
      },
      "message": "Fix heap buffer overflow\n\nBug: 74000767\nTest: manual\nChange-Id: Id57674c0ae527da055a06acf4f458c440328c5c3\n"
    },
    {
      "commit": "9371be3b88e2bcd6da6223b4cf59a00d32147133",
      "tree": "c5ba317009d78804fed0b9e82711f926642f00ae",
      "parents": [
        "8ab50a9ea4caeccafba160097e640d42b6156ed9",
        "760c1f552c42e11a2fc1ca32acf474ad846217d5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 14:26:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 14:26:34 2018 +0000"
      },
      "message": "Merge \"Bmgr about running backups\""
    },
    {
      "commit": "df7675f1cb184f09b2a304d1aa8a25112d6b340f",
      "tree": "b0b2e7f23e976ba854c7403360da3ea0d681eacf",
      "parents": [
        "efab39ff7f06323568f6b1a401209f06521486d3",
        "0f4ca4a5c086899f4ab842ae70eb4c9474d2547a"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 28 14:13:52 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 28 14:13:52 2018 +0000"
      },
      "message": "Merge \"Don\u0027t use cutils/Atomic.h\" am: 07735797a2 am: a272d540d8\nam: 0f4ca4a5c0\n\nChange-Id: I4b9798b39d890537f888415b5ac283227970e4de\n"
    },
    {
      "commit": "a272d540d8ecf913ce71abed58fc4a84a36ce258",
      "tree": "61cdecfd6ab9cf6b2fd2d394b37513d243a914f4",
      "parents": [
        "5217a340088f3f57c77a291d8ba15b768bd3c32a",
        "07735797a235ed98d182d0a40c8bdce4d92f9f0a"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 28 13:51:44 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 28 13:51:44 2018 +0000"
      },
      "message": "Merge \"Don\u0027t use cutils/Atomic.h\"\nam: 07735797a2\n\nChange-Id: Ie56fadea498f35c7e820f9fadac1b64697565a78\n"
    },
    {
      "commit": "760c1f552c42e11a2fc1ca32acf474ad846217d5",
      "tree": "81b0596cc81f60dee2670d492724f68319a3321c",
      "parents": [
        "53346e39ecc7b21758246d8eb302f73c29e2f718"
      ],
      "author": {
        "name": "Bernardo Rufino",
        "email": "brufino@google.com",
        "time": "Wed Feb 28 12:10:18 2018 +0000"
      },
      "committer": {
        "name": "Bernardo Rufino",
        "email": "brufino@google.com",
        "time": "Wed Feb 28 12:11:26 2018 +0000"
      },
      "message": "Bmgr about running backups\n\nSays that backups can be canceled if one already running. Put message\nfor running backups in dumpsys for checking.\n\nBug: 72484277\nTest: Triggered backup, checked dumpsys and bmgr backupnow\nChange-Id: I028cf663858e374389f50175aaf5a3e8c9d45e42\n"
    },
    {
      "commit": "99e8972919da38a7981021f949e83be19adcc602",
      "tree": "5ffa9579de74b13aa09ca85069e1ba8919996755",
      "parents": [
        "69f99c8e1f10add1d2d1ef72978afbc46fe5faf3",
        "9b1140eecdf1b7c0ce56289e91d945312eceebea"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 04:50:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 04:50:17 2018 +0000"
      },
      "message": "Merge \"Add the option to match a whitelist of strings in FieldValueMatcher.\""
    },
    {
      "commit": "16b989fc0eedab2fdb66194c6156055a99e5cb6d",
      "tree": "91e47a037f09e5a79f56ad370d8508c5eddf002f",
      "parents": [
        "bb69f73a0c0a7a2db927a93f2a5371976ab0d483",
        "391284396b65bf4836b68b1176108af5f632196e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 04:13:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 04:13:20 2018 +0000"
      },
      "message": "Merge \"Add incidentd to readproc group.\""
    },
    {
      "commit": "bb69f73a0c0a7a2db927a93f2a5371976ab0d483",
      "tree": "d006203ff8f1e500b1b6fd102ca223e27cbeb391",
      "parents": [
        "6e0f8e2620f0df322d6d94a19058566c308c3bec",
        "dd7bd35f308bcb2428f8cd74961ce95db77d6d81"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 04:10:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 04:10:29 2018 +0000"
      },
      "message": "Merge \"Atoms: Keygaurd and Bouncer\""
    },
    {
      "commit": "f4405efb97eb012caa79efccc6b2ccc9573913d0",
      "tree": "7d4feaf900e31a5c6e14dc79cecd9d27691061af",
      "parents": [
        "ec98448f153aff274e7e9c7db473d8413049ba2f",
        "a1fe77c6bdeddbf81ff35de6395032aa02f619a6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 03:15:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 03:15:46 2018 +0000"
      },
      "message": "Merge \"Add a comment to allocate field number above 100000 for OEMs to use and block them off from being used.\""
    },
    {
      "commit": "ec98448f153aff274e7e9c7db473d8413049ba2f",
      "tree": "669f1deede8c86b67632c5315c1db3b41d2445d3",
      "parents": [
        "ff1f7090c62ac7b4abff39ad432c38e7d30f2b3d",
        "1a11fa10977ee1e2645d400844ff4d472b8f5f02"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 03:02:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 03:02:16 2018 +0000"
      },
      "message": "Merge \"Implement a new section to attach LAST_KMSG to incident report This section simply gzip a large file and stores result in GZippedFileProto\""
    },
    {
      "commit": "a1fe77c6bdeddbf81ff35de6395032aa02f619a6",
      "tree": "5434e285c7bfe4a2e4323811de568ba287c86f6b",
      "parents": [
        "67aef39ea2394ec30a92c4608fc6f72ca09ed24b"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Mon Feb 26 14:22:54 2018 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Tue Feb 27 16:59:49 2018 -0800"
      },
      "message": "Add a comment to allocate field number above 100000 for OEMs to use and block\nthem off from being used.\n\nBug: 72866543\nTest: statsd_test, cts tests\nChange-Id: I2074f53eb3360aa93a9bea4e596a8c295696312f\n"
    },
    {
      "commit": "539288806fe5ae3733ef7883eb8ec01cce293988",
      "tree": "d2a885d1772aa8fffffcc59612646f02b59f54eb",
      "parents": [
        "15739d309966ef8453b7c59cc1ef622e2f5eca93"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Sun Feb 25 23:02:56 2018 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Tue Feb 27 15:31:57 2018 -0800"
      },
      "message": "Duration tracker optimization.\n\n* Avoid querying sliced condition for stop/stopAll events for duration metric.\n* Avoid extracting the internal dimension key when it is identical to the what dimension.\n\nTest: statsd test\nChange-Id: I664e8d3b1a68960d05c9ce4789caefb60b1ab502\n"
    },
    {
      "commit": "8f42ba0e2c70a441bc7821dd32d5bab1c562b062",
      "tree": "b2f3cc2fe56581640467ee239634616b55202411",
      "parents": [
        "3f8237f356ee03712ac7379aa7a173991f3017ce"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Feb 27 15:17:07 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Feb 27 15:17:07 2018 -0800"
      },
      "message": "Avoid reading logs that were processed before.\n\nThis could happen when statsd is disconnected from logd reader. When we reconnect, we are going to\nget all events from the buffer again.\n\nBug: 72379125\nTest: manual\nChange-Id: Ie0122d5452555500c3bdfc1f905a0b1c646efdf7\n"
    },
    {
      "commit": "03b91d77c4eccd2d088a12e6fe747240a09b573d",
      "tree": "890b0730a309a15582722fbcd2ae4838143bc2c7",
      "parents": [
        "82d7883f0553971078b7cfc13a38838afdf73ff0",
        "932ececa1674c59a8da9f3e32d2651e781b86fc4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 27 23:08:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 23:08:31 2018 +0000"
      },
      "message": "Merge \"Alarm: wakes up statsd and notifies the subscribers.\""
    },
    {
      "commit": "82d7883f0553971078b7cfc13a38838afdf73ff0",
      "tree": "67d781586e51c28efc2ade958665e9578bdec2ef",
      "parents": [
        "e7658ef2b84c39467c2e6635807457d3d4a94194",
        "255f72e73e23f79157faaf28fcea482c0fa2f5bd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 27 23:07:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 23:07:27 2018 +0000"
      },
      "message": "Merge \"Return when invalid config ID was provided through adb command and change the separator of config_uid and config_id to underscore from dash to disambiguate negative config ids\""
    },
    {
      "commit": "dd7bd35f308bcb2428f8cd74961ce95db77d6d81",
      "tree": "bf2b285b4e9c45f5c8725171b2ea99974ce61718",
      "parents": [
        "195599663ad221aca06a80c8f4e41b61f984b7f2"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Feb 09 19:33:15 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Tue Feb 27 14:54:00 2018 -0800"
      },
      "message": "Atoms: Keygaurd and Bouncer\n\nLogs changes in the state of the keyguard and the keyguard bouncer\n\nTest: verified logs appear in adb logcat -b stats\nChange-Id: I1ffdf72ab088318c883197b3e1eb283bec2b8b2a\n"
    },
    {
      "commit": "9b1140eecdf1b7c0ce56289e91d945312eceebea",
      "tree": "4f5cfc57ec3838efbb8d788fe22f11495fd2e017",
      "parents": [
        "3f8237f356ee03712ac7379aa7a173991f3017ce"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Feb 27 10:55:54 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Feb 27 14:52:31 2018 -0800"
      },
      "message": "Add the option to match a whitelist of strings in FieldValueMatcher.\n\n+ This is useful when we want to build Anomaly detection on wakelocks, but want to whitelist\nwakelocks held by some apps that are whitelisted. It reduces the number of matchers needed\nin such a config.\n\n+ Also added the ability to match an AID by string name.\n\nBug: 73897465\nTest: unit tests added.\nChange-Id: I19315ae4d7d27fc467655d3a29866049cd8c9a2b\n"
    },
    {
      "commit": "932ececa1674c59a8da9f3e32d2651e781b86fc4",
      "tree": "a4a50f201dcf483eb24deacccc12479aff097757",
      "parents": [
        "f34ad9509df18aff1f36123b839c62003216245c"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Thu Feb 01 10:23:52 2018 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Tue Feb 27 13:30:48 2018 -0800"
      },
      "message": "Alarm: wakes up statsd and notifies the subscribers.\n\nTest: manually tested it.\nChange-Id: Id796a68976aeb1611183023ba4e9c6a8b8c44bb8\n"
    },
    {
      "commit": "f3537c2054e4bfd627dd488e25564e07fb4009da",
      "tree": "b6bf79236974301d5f03d06d83ce97d0d8007e69",
      "parents": [
        "3b73ced5a824f5148bdf0d37cf746a269e6bad3f",
        "77ef671c41c2e587f34e156834ffa35b135bc866"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 27 20:47:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 20:47:33 2018 +0000"
      },
      "message": "Merge \"Updates jank metrics in statsd to include uid.\""
    },
    {
      "commit": "391284396b65bf4836b68b1176108af5f632196e",
      "tree": "685fbe3f4a6ea4433e7ffc8c48bf029c8f2b3f7f",
      "parents": [
        "162ff7bd783b8dfcea4636a9b675d87314d5bf1d"
      ],
      "author": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Tue Feb 27 12:26:13 2018 -0800"
      },
      "committer": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Tue Feb 27 12:26:13 2018 -0800"
      },
      "message": "Add incidentd to readproc group.\n\nThis allows it to get cpu info and ps data.\n\nBug: 72384374\nTest: flash device and check incident.proto output\nChange-Id: I09f6318861fbedbf4fae1a4325e6a7d12b32b10e\n"
    },
    {
      "commit": "1a11fa10977ee1e2645d400844ff4d472b8f5f02",
      "tree": "f2a56b25e6da627ab148344900be49ee6e8281c7",
      "parents": [
        "acb42c36f5ecfa2ab442fce1b97ab446c73008a8"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Thu Feb 22 16:44:10 2018 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Tue Feb 27 11:36:29 2018 -0800"
      },
      "message": "Implement a new section to attach LAST_KMSG to incident report\nThis section simply gzip a large file and stores result in GZippedFileProto\n\nThis greatly improves the size, before gzip, the last kmsg size ~500KB,\nafter gzip the proto size is ~60KB.\n\nBug: 73354384\nTest: atest incidentd_test and manual on device test\nChange-Id: I9bfc2cf07384487671edbffb5f0bd8495608fea6\n"
    },
    {
      "commit": "255f72e73e23f79157faaf28fcea482c0fa2f5bd",
      "tree": "273ec0aa53a93868aba8d2ce0cb6fb31ebad1ed6",
      "parents": [
        "4e056c8bfacc2be6d36e47305df4a85f87d02bc4"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Mon Feb 26 15:15:17 2018 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Tue Feb 27 10:49:21 2018 -0800"
      },
      "message": "Return when invalid config ID was provided through adb command and\nchange the separator of config_uid and config_id to underscore from dash\nto disambiguate negative config ids\n\nBug: 73896814\nTest: statsd_test\nChange-Id: Ib0604e9f4c104560d570a64208a9e94d7526f8d6\n"
    },
    {
      "commit": "dcd6ae8bc8f54050a150c18f7a9923fb5d4d19cf",
      "tree": "b3258530bfba3eb9bcf17f43e1ff54f017bd960f",
      "parents": [
        "f01ac95f079248cd25c9475242274fbc2be023fd",
        "4029831e36ef1e4a017bf55e1ec8f8b64849c5a3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 27 07:00:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 07:00:45 2018 +0000"
      },
      "message": "Merge \"Atom: TemperatureReported\""
    },
    {
      "commit": "4029831e36ef1e4a017bf55e1ec8f8b64849c5a3",
      "tree": "7a04bb9122801b432513744c93f9ee87a21079f8",
      "parents": [
        "b9cacbea949e59fe4611dfbf2387d11938275e5b"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Feb 16 00:15:09 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Feb 26 20:55:26 2018 -0800"
      },
      "message": "Atom: TemperatureReported\n\nMakes the temperature reported atom pulled, and adds CPU, GPU, and SKIN\ntemperatures. Pulls information from the thermal hal.\n\nTest: CTS test on cl in this topic\nChange-Id: I0a8e2d1135bdd77e1cc510f24ff5214ce9e14ead\n"
    }
  ],
  "next": "77ef671c41c2e587f34e156834ffa35b135bc866"
}
