)]}'
{
  "log": [
    {
      "commit": "e6730cbd835a4bb1fb7a2fa85f23e902b4cc9a5b",
      "tree": "d223a9dc2582119404312bc5b94993022ed33fb5",
      "parents": [
        "52b976d8bef955d6fc1ae42ed9ccd93037d87c0a",
        "054ce9cc998b5fd87c9b220f9459cc9ab114be2c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 13 03:55:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 13 03:55:22 2018 +0000"
      },
      "message": "Merge \"filter pulled events for ValueMetric\""
    },
    {
      "commit": "3ab40f1866dd8be9dd0cbaae94f9b1d9b5492f26",
      "tree": "0001117f98459bac2070b9fbed496c321f03c796",
      "parents": [
        "459e4069e8c059060bbcf1612038c66611a03a7a",
        "be0febe40aff510c25967a40a8317eed47fd6cd7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 13 01:19:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 13 01:19:24 2018 +0000"
      },
      "message": "Merge \"Add sm set-isolated-storage [true|false]\""
    },
    {
      "commit": "054ce9cc998b5fd87c9b220f9459cc9ab114be2c",
      "tree": "87ec7398ec6ade37a9167e2e55ecbf7608ca242e",
      "parents": [
        "69df0530686ae7c1e7a3278d9e62f5d245a8dba6"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Nov 12 15:27:29 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Nov 12 15:27:29 2018 -0800"
      },
      "message": "filter pulled events for ValueMetric\n\nBug: 118153041\nTest: unit test\nChange-Id: I528b0a82ad8a8c32f92fadf5251b39d3d0256a2c\n"
    },
    {
      "commit": "32717c3b6f5ce1ae9425a3f360482276ef12d3fe",
      "tree": "5fcc581b128d79eacc2ead524b92a612d6fb758e",
      "parents": [
        "252c7c43c916aafb1f7d137285b64a4e667ffcbf"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Sat Oct 20 23:54:48 2018 -0700"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Nov 12 12:04:16 2018 -0800"
      },
      "message": "multi-value aggregation in ValueMetric\n\nAllow aggregation on multiple fields, instead of one at a time.\nAll these fields should use the same aggregation time, use_diff,\ndirection, etc.\nThe config reuses value_field but allows multiple fields to be\nspecified.\nThe order they are specified determines the \"index\" of a value in the\noutput.\n\nBug: 119217634\nTest: unit test\nChange-Id: I38b1465d13723a897b30ee0b4f868498f60ad4db\n"
    },
    {
      "commit": "252c7c43c916aafb1f7d137285b64a4e667ffcbf",
      "tree": "16ebd45f6d42c7f74a63c8f7fc810c1a62200a35",
      "parents": [
        "4d75ccd3287e71711e667fb44a474c335108df02",
        "39b679925aaeb47fdf5bd39f9afbd4025be79a44"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 12 19:27:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 12 19:27:58 2018 +0000"
      },
      "message": "Merge \"Pass the last error code when statslog.write fails\""
    },
    {
      "commit": "719a8643db7b010b5674e013194909017fa12f60",
      "tree": "8cd54c1be70aec911e1e7ee98203f3642daf9b7a",
      "parents": [
        "3b0ed310d113730c63976f6284d1f62ce0290708",
        "6752e11cdc415da01f08e7ffe4c074b2377d56b4"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Nov 09 17:03:50 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 09 17:03:50 2018 -0800"
      },
      "message": "Merge \"Thermal shutdown fix: cool down on writing to disk\" into pi-dev am: 0cc63ef090\nam: 6752e11cdc\n\nChange-Id: I57fe90e8411b6131cec4e86507c70fea25db9670\n"
    },
    {
      "commit": "6752e11cdc415da01f08e7ffe4c074b2377d56b4",
      "tree": "b8cadb72b782befea2a1ed84ecfdb61374a1e1d3",
      "parents": [
        "358ff5d2bf39a3f58572f32ee9789f0b853a2dbb",
        "0cc63ef090d3a3a3f666e48202da00efc975d55c"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Nov 09 14:41:26 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 09 14:41:26 2018 -0800"
      },
      "message": "Merge \"Thermal shutdown fix: cool down on writing to disk\" into pi-dev\nam: 0cc63ef090\n\nChange-Id: Ieb9fe51c3a729413a1aa7f0c044246eb1c7c836c\n"
    },
    {
      "commit": "42f9e06418291828fb3196180fdfd08c5d1df434",
      "tree": "d3ec20ab24ed02e6b5a4df72652e1a860b4cdf37",
      "parents": [
        "c73a034e8c03bbd355318797e400c3725b2da5b2"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Nov 09 10:01:00 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Nov 09 20:37:42 2018 +0000"
      },
      "message": "Thermal shutdown fix: cool down on writing to disk\n\nCurrently, statsd uses wall clock seconds to write data to disk. This\nissue affects both thermal and normal shutdowns, because if two writes\noccur in the same second, the more recent write will overwrite the older\nwrite, erasing the actual data that we want.\n\nFor thermal shutdowns, we write twice. Once because of termination\nsignal received, and once because of binder death recipient from\nstatscompanion service.\n\nFor normal clean shutdowns, we write 3 times. In addition to the two\nabove, we write for the shutdown received signal.\n\nThis fix introduces a cool down period of 3 seconds between writing to\ndisk.\n\nBug: 112432890\nTest: statsd unit tests\nTest: statsd cts tests\nTest: manually verified normal shutdown had 1 file written to disk\nTest: manually verified thermal shutdown had 1 file written to disk\nChange-Id: I4cd39de9063935e762ff7d00051ccc915f31e89a\n"
    },
    {
      "commit": "39b679925aaeb47fdf5bd39f9afbd4025be79a44",
      "tree": "c4e0a0e8fb2353ef140a1a866cb34f43e430560f",
      "parents": [
        "306406790868def006d6cebf4c4b2830e73916aa"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Nov 08 15:32:17 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Nov 09 09:56:36 2018 -0800"
      },
      "message": "Pass the last error code when statslog.write fails\n\nThe error code will give us some clue on what caused the loss (e.g., EBUSY, or ENOENT)\n\nTest: manual\nBug: 80538532\n\nChange-Id: I446c6e2255bdae063dfb8803ad0b702ead87c645\n"
    },
    {
      "commit": "be0febe40aff510c25967a40a8317eed47fd6cd7",
      "tree": "62bf874ee76d04311e6f313f26c6fee797a16bb9",
      "parents": [
        "5431cccea9b74df124ca508cd0cde57e66f95b89"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Wed Nov 07 18:24:37 2018 -0800"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Thu Nov 08 11:36:04 2018 -0800"
      },
      "message": "Add sm set-isolated-storage [true|false]\n\nBug: 119038726\nTest: manual\nChange-Id: I29eeec7872584f1173e9b6d31434b36487515d9e\n"
    },
    {
      "commit": "c2dcd92c33ad1e6b29ade9dd756f7d44b257ddfc",
      "tree": "1b415315d12334e8abad3819a08a429c9a946cf7",
      "parents": [
        "575e267a23c079168a18b78c3a617e22c4e67345",
        "e905bdb194373e28df3c6313c11376bf03a3ede4"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Wed Nov 07 15:26:53 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 07 15:26:53 2018 -0800"
      },
      "message": "Merge \"Log the thermal throttling event to enable conditional temperature pulling.\" into pi-dev\nam: e905bdb194\n\nChange-Id: Iaa3d1aa70fcf7d1cb00f79986cfe0d6a6279c834\n"
    },
    {
      "commit": "e905bdb194373e28df3c6313c11376bf03a3ede4",
      "tree": "033e5cb996b197483f8aca065a281a624c9bafdf",
      "parents": [
        "5a3b666ab068ca86f9c2fbb33b895c4ee7368d61",
        "80c4474a7b12ecd82c96fa229d576ef629f0d1da"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Wed Nov 07 22:51:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 07 22:51:12 2018 +0000"
      },
      "message": "Merge \"Log the thermal throttling event to enable conditional temperature pulling.\" into pi-dev"
    },
    {
      "commit": "e894f95053afb99a1915e2928fb9c2f64da9ddbb",
      "tree": "d7543ed7d869c88b3de4a62615821d093358f380",
      "parents": [
        "dcb5822aea85b4c51001b04339fa77c3f8628eee",
        "c715b9e0cc2ddfc6901a32dd3d8f747743dea68a"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Wed Nov 07 05:11:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 07 05:11:44 2018 +0000"
      },
      "message": "Merge \"ValueMetric overhaul\""
    },
    {
      "commit": "c715b9e0cc2ddfc6901a32dd3d8f747743dea68a",
      "tree": "d8008f31ee0feea615b65570585a0d9805d06be9",
      "parents": [
        "67dd91e6a301c9dd15f4f95ac715064534296a53"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Fri Oct 19 07:52:12 2018 -0700"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Tue Nov 06 17:07:29 2018 -0800"
      },
      "message": "ValueMetric overhaul\n\nThis is savaged from the large cl.\n\n1. Simplify the logic in ValueMetricProducer.\n1.1 for pull data on bucket boundary, we pull on bucket end, instead of\nplaying with timestamp twice.\n1.2 for data that require diffing, we keep a rolling diff base that gets\nupdated.\n1.3 Now we check condition in onMatchedLogEventInternalLocked for pushed atoms. For pulled atoms, check before commit time. This was very error prone in P and caused multiple bugs. It is much simpler now.\n2. Treat pushed and pulled atoms the same way and share the same\naggregation types.\n4. Allow decreasing values for diffing.\n5. Allow diffing for pushed atoms.\n6. For diff based aggregation, if the diff value is zero, we skip\noutput.\n\nBug: 117224984\nBug: 115683963\nBug: 117975256\nBug: 113268259\nTest: unit test\nChange-Id: I6ee306e9f6e5a166b392c443594704e7d2792ef5\n"
    },
    {
      "commit": "560055e29d63bfeef20426235f2297d76c7d3c2f",
      "tree": "cc6be9b788aad72f754fe7a381c8d53da6cb2d08",
      "parents": [
        "9027a990c7583cfd44418630333677fde4466c6c",
        "29226627d0898713558c4e03d237d100796d7d53"
      ],
      "author": {
        "name": "Jia-yi Chen",
        "email": "jychen@google.com",
        "time": "Tue Nov 06 16:52:37 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 06 16:52:37 2018 -0800"
      },
      "message": "Merge \"Persist data to disk when system shuts down\" into pi-dev\nam: 29226627d0\n\nChange-Id: I18a5f507f0e50d1212ee40573a3a6a687e5d0052\n"
    },
    {
      "commit": "3f5b30c42eccdf3c71af0ba4d63b47287dea6bb8",
      "tree": "bd691055adf1deae1d55db3f7f399c9ffca9e4e1",
      "parents": [
        "d6a4c6768e574ef7d277507d9cfb035c79cb5f4b",
        "9cc7b660a9465c9091bd056d5c0c162cbaf2eed9"
      ],
      "author": {
        "name": "Adam Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Nov 06 22:41:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 06 22:41:45 2018 +0000"
      },
      "message": "Merge \"Minor comment fix in StatsLogProcessor\""
    },
    {
      "commit": "872fd513979491854742efc213367963f7c240e4",
      "tree": "8fc82cf6f8bcb14f81a6c3a249380e3f38be9720",
      "parents": [
        "43ac27281b854d8889523cbc8a488799d2397142",
        "e217b6222cc30bc3d6ad58316905a28ce64982d4"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Nov 06 11:41:02 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 06 11:41:02 2018 -0800"
      },
      "message": "Merge changes from topic \"revert-protobuf3.5.2\" am: a4680e1ebe am: 3e312d20cd\nam: e217b6222c\n\nChange-Id: Ib4c806582d5445c8387054dbc6fe2f6e173f1a97\n"
    },
    {
      "commit": "43ac27281b854d8889523cbc8a488799d2397142",
      "tree": "7c92f5722c6ba6f03be9ff2ad3f113ad213059b3",
      "parents": [
        "78515967f08dbb91a43c8d0f27d3712a3ce676d3",
        "bd7c4efbb6307d50b8ea602a4a2acdd9f6e944ec"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Nov 06 11:34:29 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 06 11:34:29 2018 -0800"
      },
      "message": "Revert \"Convert statsd_test and statsd_benchmark to proto lite\" am: 47046b80d2 am: 65200cf70e\nam: bd7c4efbb6\n\nChange-Id: Id4bab0ce60f08ce358db99c67c58cbef0fe6e589\n"
    },
    {
      "commit": "e217b6222cc30bc3d6ad58316905a28ce64982d4",
      "tree": "067753e3a5df66106d8c67bebb4865996b9fb690",
      "parents": [
        "bd7c4efbb6307d50b8ea602a4a2acdd9f6e944ec",
        "3e312d20cddbc4cecef06767aa37979899e62f8f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Nov 06 11:21:11 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 06 11:21:11 2018 -0800"
      },
      "message": "Merge changes from topic \"revert-protobuf3.5.2\" am: a4680e1ebe\nam: 3e312d20cd\n\nChange-Id: I096f3b5a5a985ce7926ccb71fa07eda69d078ed3\n"
    },
    {
      "commit": "bd7c4efbb6307d50b8ea602a4a2acdd9f6e944ec",
      "tree": "82062f53d4ceca20adfb9b965f20f35e8308e03e",
      "parents": [
        "94107f2feaa2483d3a201948ca72dbe0fb17ae6d",
        "65200cf70e3a89788183c950a6d67f8232fa1c21"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Nov 06 11:15:44 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 06 11:15:44 2018 -0800"
      },
      "message": "Revert \"Convert statsd_test and statsd_benchmark to proto lite\" am: 47046b80d2\nam: 65200cf70e\n\nChange-Id: I952a9cbcb9bf9d2d479efecc28c5411e31dc9cf6\n"
    },
    {
      "commit": "9cc7b660a9465c9091bd056d5c0c162cbaf2eed9",
      "tree": "04b623c01b0509a7a11db5e3c947d695990742f7",
      "parents": [
        "67dd91e6a301c9dd15f4f95ac715064534296a53"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Nov 06 10:39:21 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Nov 06 10:39:21 2018 -0800"
      },
      "message": "Minor comment fix in StatsLogProcessor\n\nTest: none; it\u0027s just a comment\nChange-Id: Iafd9a5264eb13502509e7466c2773b0d5536170c\n"
    },
    {
      "commit": "bab22bc86001e2b6440a1a6a77493a8c657f17be",
      "tree": "5bdb24492cfa7ee311f7fee8cdd4eaed095fbbcf",
      "parents": [
        "8d45688b6d4d0cb917dd2d198de8ca539cdbbdba",
        "ff71cadecc43ff034be0500ca0232873bf7212c6"
      ],
      "author": {
        "name": "Adam Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Nov 06 08:35:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 06 08:35:47 2018 +0000"
      },
      "message": "Merge \"Statsd can dump data as proto to bugreport\""
    },
    {
      "commit": "ff71cadecc43ff034be0500ca0232873bf7212c6",
      "tree": "0d816d0dd36c527239e3b4ec6aff9f6b8cdaead4",
      "parents": [
        "5f106c8ee5dcacd2f30a2644b6fdf3caa2116e2d"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Thu Sep 20 17:17:49 2018 -0700"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Mon Nov 05 18:52:49 2018 -0800"
      },
      "message": "Statsd can dump data as proto to bugreport\n\n* Creates an incident section for statsd data.\n* Allows dump to output statsd data, in proto format.\n* Hooks up two statsd outputs to bugreports:\n  -statsd report data in proto format\n  -statsd metadata (statsdstats) in text format\n\nThe incident section does not import stats_log.proto because that turns\nout to be extremely difficult: stats_log.proto imports atoms.proto,\nwhich imports more things and is enormous and causes all sorts of\nproblems. atoms.proto was purposefully never compiled in AOSP, so to\nretain that feature, the incident section uses \u0027bytes\u0027 instead of an\nactual message. Since this isn\u0027t ever read in AOSP (other than testing),\nthis should be fine.\n\nBug: 115678461\nTest: take a bug report and confirm valid proto\nTest: cts-tradefed run cts-dev -m CtsStatsdHostTestCases -t android.cts.statsd.atom.HostAtomTests#testDumpsysStats\n\nChange-Id: I1c370af7678d1dc7440ce299ea5ea4da6d33832b\n"
    },
    {
      "commit": "44f74d111f08704cae5a10b6c03db78748419816",
      "tree": "f136975cba7b5c2a04bb11a2ac955c9b920ae298",
      "parents": [
        "5d258093a8fb5f13744079bc458fc1f81ffe5b5d",
        "c836696a9277e21b4db027a750fc5218cbe958ed"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Nov 04 18:39:37 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Nov 04 18:39:37 2018 -0800"
      },
      "message": "Merge changes from topic \"protobuf3.5.2\" am: 1d899f6be8 am: 11a4d77516\nam: c836696a92\n\nChange-Id: I158185738327cee8f501dcba7e85de66240eaf42\n"
    },
    {
      "commit": "5d258093a8fb5f13744079bc458fc1f81ffe5b5d",
      "tree": "a5b3f1a2fdc773b7745c79d83f67b5de8ed2e43e",
      "parents": [
        "e4ae7ea03e78a2c9a4aaef8ac36d1c3b6eed3c01",
        "85201e02df73cad2e1093b30a8c6350efe87ff09"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Nov 04 18:33:00 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Nov 04 18:33:00 2018 -0800"
      },
      "message": "Convert statsd_test and statsd_benchmark to proto lite am: e7908d7b62 am: 5742f9ffa7\nam: 85201e02df\n\nChange-Id: Id99366ec5900c71ba712dbee99fbefb5b785b827\n"
    },
    {
      "commit": "c836696a9277e21b4db027a750fc5218cbe958ed",
      "tree": "2aeea5dfbfe120d16baaf6d865abb8752df5ce26",
      "parents": [
        "85201e02df73cad2e1093b30a8c6350efe87ff09",
        "11a4d775163a4db386343be48876a698425aea20"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Nov 04 18:13:52 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Nov 04 18:13:52 2018 -0800"
      },
      "message": "Merge changes from topic \"protobuf3.5.2\" am: 1d899f6be8\nam: 11a4d77516\n\nChange-Id: I6ad3772bc16f236c2c5e7ba381593b10292aabde\n"
    },
    {
      "commit": "85201e02df73cad2e1093b30a8c6350efe87ff09",
      "tree": "a0387ffb38296e5a18821977f245914316d6ee96",
      "parents": [
        "2ed56610e8798e6de5929d5d3a4ad4eccf9459fd",
        "5742f9ffa78633bcd3e486b94267ad288368fd57"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Nov 04 18:08:27 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Nov 04 18:08:27 2018 -0800"
      },
      "message": "Convert statsd_test and statsd_benchmark to proto lite am: e7908d7b62\nam: 5742f9ffa7\n\nChange-Id: I5ef22cce9bbebe4355915ae3ab158faf14bf2708\n"
    },
    {
      "commit": "054b0c0e06b1c7b51080dc6223535cf1f6af1f92",
      "tree": "a05222b956bf7304f9013a8555c1dd9d4397733b",
      "parents": [
        "47046b80d25096b9b1aa822044b76a6cab054e6f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Nov 04 17:24:17 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Nov 04 17:24:27 2018 -0800"
      },
      "message": "Revert \"Adapt to google::protobuf::uint64 type change\"\n\nThis reverts commit fa6bc27df0820a362e0ceae7f9ea73e8a058fe47.\n\nChange-Id: I9f778e6daa9ae0c6080016ab0bd1e6e414ae6061\n"
    },
    {
      "commit": "47046b80d25096b9b1aa822044b76a6cab054e6f",
      "tree": "723c05c12f8171accb5e41075389534c6e3f7e9f",
      "parents": [
        "1d899f6be8cb0f7732877d38b3dd9035f98d6a6e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Nov 04 17:24:15 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Nov 04 17:24:26 2018 -0800"
      },
      "message": "Revert \"Convert statsd_test and statsd_benchmark to proto lite\"\n\nThis reverts commit e7908d7b624591c4cae55e66f5e603d061addd8f.\n\nChange-Id: I585991ab1d5b35930bee6e32b82714aa11fbcb41\n"
    },
    {
      "commit": "e7908d7b624591c4cae55e66f5e603d061addd8f",
      "tree": "562f01a5c2eba351f605a3ac438d0b4c76da94c2",
      "parents": [
        "d7fa41483430f2d7ef35b34c7df073fa475f50ae"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 26 23:28:02 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Nov 02 11:35:48 2018 -0700"
      },
      "message": "Convert statsd_test and statsd_benchmark to proto lite\n\nlibplatformprotos for the device is compiled using proto lite, and\nstatsd_test and statsd_benchmark have protos that reference the\nlibplatformprotos.  With protobuf 3.5.2 compiling a full proto\nagainst a lite proto doesn\u0027t work.  Convert them to lite.  Requires\nadding the protobuf internal protos to the sources,\nlibprotobuf-cpp-lite does not contain the compiled version of\nfield_options.proto.\n\nBug: 117607748\nTest: m checkbuild\nChange-Id: I6a618c4118972c0e5ffb07a361ac6612b9069c5d\n"
    },
    {
      "commit": "fa6bc27df0820a362e0ceae7f9ea73e8a058fe47",
      "tree": "cbd6120259c6661d9fbefb32b8a69a46e6ad6096",
      "parents": [
        "e7908d7b624591c4cae55e66f5e603d061addd8f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 26 13:04:41 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Nov 02 11:35:48 2018 -0700"
      },
      "message": "Adapt to google::protobuf::uint64 type change\n\nProtobuf 3.5.2 redefines google::protobuf::uint64 from unsigned long\nlong to uint64_t, which is sometimes unsigned long and sometimes\nunsigned long long.  Use PRIu64 to print it, and add an implementation\nof ProtoOutputStream::write for long.\n\nBug: 117607748\nTest: m checkbuild\nChange-Id: I48912f58e2f63f4a98c3aefaa4f78cc2c719bb68\n"
    },
    {
      "commit": "5f2a965757ab1a5d0fc79ab8f1184b976c1ddb0c",
      "tree": "832ab00b77d308367c311d77b5526feccc8664a2",
      "parents": [
        "ce58754645eba36abbd89edba8a41754af9b37f2",
        "48ed1cc74ff7af4defa6f7fe36c6be297fad250f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 01 21:33:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 01 21:33:30 2018 +0000"
      },
      "message": "Merge \"record atom pull time\""
    },
    {
      "commit": "48ed1cc74ff7af4defa6f7fe36c6be297fad250f",
      "tree": "b631d1648e50569c80d1d69cc902883fffdd24f3",
      "parents": [
        "f06f37203a52a9d789558142bed94991d3ba0b71"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Wed Oct 31 17:36:38 2018 -0700"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Thu Nov 01 11:30:52 2018 -0700"
      },
      "message": "record atom pull time\n\noutput looks like this:\n********Pulled Atom stats***********\nAtom 10003-\u003e(total pull)2, (pull from cache)0, (min pull interval)0,\n(average pull time nanos)528047, (max pull time nanos)568386, (average\npull delay nanos)4222422, (max pull delay nanos)4498125\nAtom 10019-\u003e(total pull)2, (pull from cache)0, (min pull interval)0,\n(average pull time nanos)4455885, (max pull time nanos)6245938, (average\npull delay nanos)12153985, (max pull delay nanos)13518387\nAtom 10020-\u003e(total pull)2, (pull from cache)0, (min pull interval)0,\n(average pull time nanos)3092005, (max pull time nanos)3223594, (average\npull delay nanos)18301668, (max pull delay nanos)19805783\nAtom 10021-\u003e(total pull)3, (pull from cache)0, (min pull interval)0,\n(average pull time nanos)3151944, (max pull time nanos)4931719, (average\npull delay nanos)17319897, (max pull delay nanos)24455211\n\nBug: 118757386\nTest: unit test\nChange-Id: Idbe0e4cc822d75813d2e4511be5e7593fff370d4\n"
    },
    {
      "commit": "272a816155203ee098e369a972a2fac017ea2c7c",
      "tree": "91020acfb45f681d2a8b321e7b0c446a3cb7d18e",
      "parents": [
        "77b75008a0363d3bf8a112e5ccb02f5d013f04c1"
      ],
      "author": {
        "name": "Rafal Slawik",
        "email": "rslawik@google.com",
        "time": "Thu Nov 01 15:12:28 2018 +0000"
      },
      "committer": {
        "name": "Rafal Slawik",
        "email": "rslawik@google.com",
        "time": "Thu Nov 01 16:32:58 2018 +0000"
      },
      "message": "Add process start time to ProcessMemoryState atom\n\nAlso, add the start time to non-additive in statsd.\n\nBug: 118249210\nTest: manually verified values are included in a report\nChange-Id: Ib91d4d0f416a1cbd298f4a010e8264a3e8f0ee16\n"
    },
    {
      "commit": "1260bb47394e20b3b16a9cb30a10584789878683",
      "tree": "24aa84da13f596df66fab057021b8a8e99e9101a",
      "parents": [
        "f06f37203a52a9d789558142bed94991d3ba0b71"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Mon Oct 29 17:22:36 2018 -0700"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Wed Oct 31 15:08:51 2018 -0700"
      },
      "message": "Manifest for default implementation of stats hal\n\nBug: 118509430\nTest: builds successfully. logging tests will be conducted once client\nimplementation is in.\n\nChange-Id: If0085273b43316bce4c266829012a618193d6bd8\n"
    },
    {
      "commit": "bd26d4363f7aa8e5c3ad71bfe59d73726e5d74b8",
      "tree": "f5e3f561d2a83726a1cea9a25629da5bcdf39e74",
      "parents": [
        "d9231a098420ff86adfa0ed868e299cc3c4739c1",
        "05c9e5c24a860d8d4a9b0f00ba1b6fbef0dd1b1d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Oct 31 14:12:36 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 31 14:12:36 2018 -0700"
      },
      "message": "Convert statsd and incidentd to Android.bp\nam: 05c9e5c24a\n\nChange-Id: Ic5b6353777baf66eb77f7fc6b9846fa4adbca186\n"
    },
    {
      "commit": "936b54b261d51e2edafdfe76b7ac908de37674bb",
      "tree": "3aaec3df0eec7c754f78c46cdf681efc552be3ff",
      "parents": [
        "e2b3a2fd1a383de5d80c3d10deaf26df6783e678",
        "720ec5baf96460fa264991f2d3a325a9728e2d7f"
      ],
      "author": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Wed Oct 31 16:00:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 31 16:00:27 2018 +0000"
      },
      "message": "Merge \"Update the binder calls atom to track the calling app of a binder call.\""
    },
    {
      "commit": "05c9e5c24a860d8d4a9b0f00ba1b6fbef0dd1b1d",
      "tree": "d2618d6bc621b9044779d475a423fa907b0b1778",
      "parents": [
        "0d63da86e2e4093e9785cfc1df2f8ec4308a9ead"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 26 22:34:06 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Oct 31 08:01:59 2018 -0700"
      },
      "message": "Convert statsd and incidentd to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m checkbuild\nMerged-In: I8c80878cec46c9299234c6f4c1e0e19efc0a221e\nChange-Id: I8c80878cec46c9299234c6f4c1e0e19efc0a221e\n"
    },
    {
      "commit": "b7fddfc6a61a904375d88914dd30fb4f749ae128",
      "tree": "24d2190e31e490fedbba068b1c71120e321ab2e2",
      "parents": [
        "f0ca3fec19be8d47696cb86a62baf33bbe9df794",
        "bc2dc31c4dad41746b09bc5bb3288a22a313935d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Oct 30 23:28:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 30 23:28:28 2018 +0000"
      },
      "message": "Merge \"Convert statsd and incidentd to Android.bp\""
    },
    {
      "commit": "bc2dc31c4dad41746b09bc5bb3288a22a313935d",
      "tree": "ee13a4731b3a7461771b153d4242f70c410313f7",
      "parents": [
        "5eaf773331f151fd5c663fbff6c84148028dab32"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 26 22:34:06 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Oct 30 13:30:23 2018 -0700"
      },
      "message": "Convert statsd and incidentd to Android.bp\n\nSee build/soong/README.md for more information.\n\nFixes: 110563449\nTest: m checkbuild\nChange-Id: I8c80878cec46c9299234c6f4c1e0e19efc0a221e\n"
    },
    {
      "commit": "720ec5baf96460fa264991f2d3a325a9728e2d7f",
      "tree": "1987a34c1dc13c1dc6c8db4e0a9c22c7736fec73",
      "parents": [
        "adb49c0031055a8e8f5951d3bb4999df3883448f"
      ],
      "author": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Tue Oct 30 17:32:56 2018 +0000"
      },
      "committer": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Tue Oct 30 17:33:00 2018 +0000"
      },
      "message": "Update the binder calls atom to track the calling app of a binder call.\n\nTest: manual\nChange-Id: I0c63298e56b85eb69ac7f909c12414cc43a964a9\n"
    },
    {
      "commit": "0b4e17bee2792c21eb0c40f7ce87b98a0f73f1b6",
      "tree": "5a2cd4162aabb10d0c4e5059fb68110519def563",
      "parents": [
        "b8affbd14f6990646df622b2977a81b095a197ad",
        "0275123eefcb823cd32df20191dd83eccdebdcbf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 30 17:00:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 30 17:00:24 2018 +0000"
      },
      "message": "Merge \"idmap2: initial code drop\""
    },
    {
      "commit": "5a51e004b18c3e9794ee39746fe4229c0f1feca7",
      "tree": "b81e88210a446e719b10ee20c6ca926d67e5f5bb",
      "parents": [
        "0c6b2afbf1187d648a42675b7fa11db11a274e5f"
      ],
      "author": {
        "name": "Misha Wagner",
        "email": "mishaw@google.com",
        "time": "Wed Oct 03 15:04:09 2018 +0100"
      },
      "committer": {
        "name": "Misha Wagner",
        "email": "mishaw@google.com",
        "time": "Tue Oct 30 15:34:07 2018 +0000"
      },
      "message": "Add atom to StatsCompanionService for retrieving per-thread CPU usage data\n\nN.B.: This calls CpuThreadProcReader synchronously in\nStatsCompanionService::pullData. This call takes approximately 50.079ms on a\nPixel 2.\n\nBug: 111534779\nTest: `adb shell cmd stats pull-source 10035` returns correct data\n\nChange-Id: I6fe6d178e28669f10ba9c076cbf19dc443d171c9\n"
    },
    {
      "commit": "0275123eefcb823cd32df20191dd83eccdebdcbf",
      "tree": "440eb37286eff3cd2fba4616ffedf21b9983b17f",
      "parents": [
        "8c12dcd11a18081b365d81267c3d29f9848222f9"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Fri Apr 27 13:16:32 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Oct 30 04:37:41 2018 -0700"
      },
      "message": "idmap2: initial code drop\n\nidmap2 is a reboot of the idmap project. The project aims to\n\n  - use modern C++\n  - greatly improve test and debug support\n  - interface towards AssetManager2 (instead of AssetManager)\n  - provide a solid foundation to add support for new features\n\nTo make it easier to verify correctness, this first version of idmap2 is\nfeature equivalent to idmap. Later versions will add support for new\nfeatures such as \u003coverlayable\u003e.\n\nBug: 78815803\nTest: make idmap2_tests\nChange-Id: I1d806dc875a493e730ab55d2fdb027618e586d16\n"
    },
    {
      "commit": "c3c30c0b305c48277831921c069e31122b132aa5",
      "tree": "ba2b2e557114bdf31a869b1fb0cb42ac43aea619",
      "parents": [
        "367d14a1b5172efb2e60e20fc8daf708603aaeda"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Fri Oct 26 09:48:07 2018 -0700"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Oct 29 21:48:38 2018 -0700"
      },
      "message": "add drop byte info in statsdstats\n\nTest: manual test and unit test\nChange-Id: I8675b399f83b2bb43be4fc2e6c8f28db37b8863b\n"
    },
    {
      "commit": "761b0bd7c90fd4dcbebf45896722864784d16664",
      "tree": "d77163e41d8cb9e84f43d9e4770bc96dbdad370d",
      "parents": [
        "7cc7662d6f50eb3bc484c282814b7453ce3a5b78",
        "8c4338614513f59e53c2d7a164a05d309a470e81"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 29 21:52:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 29 21:52:52 2018 +0000"
      },
      "message": "Merge \"Adding tests and move launcher.proto\""
    },
    {
      "commit": "4e57b2c35c8d6485ac6f5be41b9e3f66646f8b7d",
      "tree": "5c778875cbbb9e7604937e0a0e8050073400d211",
      "parents": [
        "68f4bd92bc241b45cce40d2578be02f59483567d",
        "748b449887677d3f1b2f2587f7fe15aa11d95cb7"
      ],
      "author": {
        "name": "Gopinath Elanchezhian",
        "email": "gelanchezhian@google.com",
        "time": "Mon Oct 29 11:47:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 29 11:47:54 2018 -0700"
      },
      "message": "Merge \"Add statsdprotolite in Android.bp\" am: f469bd2f68\nam: 748b449887\n\nChange-Id: I94293a1cd5ca457224eccaf98ee1c265a3c3ce06\n"
    },
    {
      "commit": "f469bd2f68462717fb9a514a3574105f69ccb021",
      "tree": "c68a4d6ca72cc9cc6f6169b6fee32124e9886532",
      "parents": [
        "d1d3b374b7892b9a526dc40d4fa6d7de18ed67f7",
        "17593b03959334bc59563537d8acdd58eed3854a"
      ],
      "author": {
        "name": "Gopinath Elanchezhian",
        "email": "gelanchezhian@google.com",
        "time": "Mon Oct 29 17:14:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 29 17:14:46 2018 +0000"
      },
      "message": "Merge \"Add statsdprotolite in Android.bp\""
    },
    {
      "commit": "bf67d07be2c8429f503968a59f63709122f886c3",
      "tree": "0f475ecf585ecf756aad9f890df1f72bf29c5133",
      "parents": [
        "8c12dcd11a18081b365d81267c3d29f9848222f9"
      ],
      "author": {
        "name": "Rafal Slawik",
        "email": "rslawik@google.com",
        "time": "Tue Oct 23 11:07:54 2018 +0100"
      },
      "committer": {
        "name": "Rafal Slawik",
        "email": "rslawik@google.com",
        "time": "Mon Oct 29 14:36:37 2018 +0000"
      },
      "message": "Record process start time for native processes\n\nProcess start time is recorded to detect whether two memory samples\ncome from the same process and how long the process was alive.\n\nBug: 118249210\nTest: atest MemoryStatUtilTest and manually verified that data is in\nstatsd report\n\nChange-Id: I7f49cd8bfc81c5e7e70e4f8b49729632eeec5798\n"
    },
    {
      "commit": "49dd4c02e84b6171f70dbdd636b375d9bea60462",
      "tree": "3a1ad2604b1cde819f58414b99a8041b863fa17d",
      "parents": [
        "160356568d45936d5cec2c36d69c01682941acab",
        "161b7028a407de7a64fdd4c46eb6fd592521752b"
      ],
      "author": {
        "name": "gopinath",
        "email": "gelanchezhian@google.com",
        "time": "Fri Oct 26 21:39:51 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 26 21:39:51 2018 -0700"
      },
      "message": "Merge \"allow statsd pull based on event trigger.\" am: bd4ae82f66\nam: 161b7028a4\n\nChange-Id: Ibf8b0ac7e6f5f0deffb2e0c687eb9aeef4da9423\n"
    },
    {
      "commit": "17593b03959334bc59563537d8acdd58eed3854a",
      "tree": "99c3fd76141d4adfbacf190bce172df716da0257",
      "parents": [
        "e42fbe4606eaec8f753e4853ea1130734b8da21b"
      ],
      "author": {
        "name": "gopinath",
        "email": "gelanchezhian@google.com",
        "time": "Fri Oct 26 16:00:34 2018 -0700"
      },
      "committer": {
        "name": "Gopinath Elanchezhian",
        "email": "gelanchezhian@google.com",
        "time": "Fri Oct 26 23:16:39 2018 +0000"
      },
      "message": "Add statsdprotolite in Android.bp\n\nBug: b/118482428\n\nTest: make statsdprotolite\nChange-Id: I5c27f3017be043b6809699158a94b32155163535\nMerged-In: I857957e816506162496192fe0ad1da4dbdfd4efd\n"
    },
    {
      "commit": "9d426e141d15e7c15bdbbfaa3a01910d438241fc",
      "tree": "14d556fa01c778223518faec4fb69b1acc8396cd",
      "parents": [
        "e42fbe4606eaec8f753e4853ea1130734b8da21b"
      ],
      "author": {
        "name": "gopinath",
        "email": "gelanchezhian@google.com",
        "time": "Fri Oct 26 15:20:18 2018 -0700"
      },
      "committer": {
        "name": "Gopinath Elanchezhian",
        "email": "gelanchezhian@google.com",
        "time": "Fri Oct 26 22:22:51 2018 +0000"
      },
      "message": "allow statsd pull based on event trigger.\n\nBug: b/118482428\n\nTest: make statsdprotolite\nChange-Id: I5a40d5e6a409b65ca1639029d5da83c327ed1798\nMerged-In: Ia15b1f209945f022edffb9ec5d673317d55d9e4f\n"
    },
    {
      "commit": "80c4474a7b12ecd82c96fa229d576ef629f0d1da",
      "tree": "6a2b703ad23fe7b15b9c693a9aa4840fdd1302b9",
      "parents": [
        "58d1ac473e0cd87886fe8ed666b6245097729927"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Sun Aug 26 12:20:16 2018 -0700"
      },
      "committer": {
        "name": "Thierry Strudel",
        "email": "tstrudel@google.com",
        "time": "Fri Oct 26 20:03:07 2018 +0000"
      },
      "message": "Log the thermal throttling event to enable conditional temperature pulling.\n\nTest: statsd test\n\nBUG: b/112432890\n\nChange-Id: Ic0b175053ec6afe497eb67a31d3e1a7633df4c5b\nMerged-in: If132bab9690043a9e3e89187dfb1a9ed8fd0c996\n(cherry picked from commit e16189afcaa55d8480d658bfb0c6bd304f3c238d)\n"
    },
    {
      "commit": "8c4338614513f59e53c2d7a164a05d309a470e81",
      "tree": "c821f4d96991b57cb577ed24af4d1733d05ac7da",
      "parents": [
        "f95d6a17f5721144ac207b91307ce5146a64eab7"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Oct 24 14:09:20 2018 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Oct 26 10:28:05 2018 -0700"
      },
      "message": "Adding tests and move launcher.proto\n\nTest: statsd_test\n\nChange-Id: I0655f70098d78f8f6dc9381921c4a687d2195bd4\n"
    },
    {
      "commit": "4f8f072f7c3a0e67830d135b2005d60cdaea2b42",
      "tree": "c6cb7e6714265c373dead797fb6cc5f471260413",
      "parents": [
        "cd553d02eeb18793de70903974b955b931129218",
        "c6d6b77ddc805d6e8f70ed16f0c73177840791e7"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Fri Oct 26 04:57:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 26 04:57:58 2018 +0000"
      },
      "message": "Merge \"Add launcher.proto to atoms.proto\""
    },
    {
      "commit": "1cfaeed73b8f5c7874142f66e56c9866afe9ce17",
      "tree": "3b103ce038bc5a197b77be9bd380b209a1685168",
      "parents": [
        "f2e324bcdbfd3853f90408b3562987069a24eb31",
        "1a2a3994199f8cef284302d99c064d3b1d5e6661"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 25 23:57:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 25 23:57:34 2018 +0000"
      },
      "message": "Merge \"Log uid info to KeyValuePairAtom\""
    },
    {
      "commit": "c6d6b77ddc805d6e8f70ed16f0c73177840791e7",
      "tree": "9768f32c74c196cfe92c481a641b7a7bd7caf471",
      "parents": [
        "148eba158ca7a7473b46d97793db76315ae76329"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Wed Oct 17 13:35:32 2018 -0700"
      },
      "committer": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Thu Oct 25 15:22:12 2018 -0700"
      },
      "message": "Add launcher.proto to atoms.proto\n\nTest: blank\nBug: 113043444\n\nChange-Id: I7e0e72cdf68dcf195188dbab8fe2567fcbd5964e\n"
    },
    {
      "commit": "1a2a3994199f8cef284302d99c064d3b1d5e6661",
      "tree": "57a58648bb2c5b8cecf4d358d0b5c95132792a28",
      "parents": [
        "0b8b0ef691e2196e1f83f1f1b54ac8243cb811b5"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Mon Oct 22 22:51:57 2018 -0700"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Thu Oct 25 13:26:42 2018 -0700"
      },
      "message": "Log uid info to KeyValuePairAtom\n\nBug: 118153464\nTest: verified the data via print-logs in logcat\nChange-Id: I74fcde1a7d2b2c37eb6d63e40fb5cb40ebb9cff9\n"
    },
    {
      "commit": "03b8c0f49c79a97666218511611351c748d2aaee",
      "tree": "2743a3db83cbded34b0e29098f7c989faf52cba5",
      "parents": [
        "e8b53b2d541fe0d68a826eaf7fda95821a8b998d",
        "bbdd67d19f4912fbec00220b22e44c68eff5ab3f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 25 19:04:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 25 19:04:17 2018 +0000"
      },
      "message": "Merge \"Allow atoms to log fields in bytes format.\""
    },
    {
      "commit": "86d0d9d8e5da33c0db9dc7a6d8c104427e85939e",
      "tree": "d7514c18d29dbf5cb29da1538c30fa4fc55b2fdd",
      "parents": [
        "986ba8aa20741f5e2c383e3b0fc0433f3bd91298",
        "159a410d7b17b40f3e8af739aabf6daaa2bbdbfc"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Oct 25 03:56:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 25 03:56:48 2018 +0000"
      },
      "message": "Merge \"BootAnimation: Use system log\""
    },
    {
      "commit": "c242dac241277fe43179d87d3baa1c66c19a5945",
      "tree": "635b2496a615518328d32e0e03f103d21feece34",
      "parents": [
        "d8719664204cc9c2cf910d2fc0a0d8fb2a1ce842",
        "10a34d10744dc79723020456dd4c0983851d9054"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 25 03:29:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 25 03:29:31 2018 +0000"
      },
      "message": "Merge \"[Screenshot] Accept data space and pixel format for screenshot.\""
    },
    {
      "commit": "fd5117d680e167cb209c99ae59752beea76f63a1",
      "tree": "e44d211239cabbeda9fb3ab9a304d870119b0924",
      "parents": [
        "a2429cb3716a64b3a8512000210b0253cc88a5a8",
        "328432d887a4a4946aa8ed4392df324e0054b579"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 25 02:16:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 25 02:16:35 2018 +0000"
      },
      "message": "Merge \"make testdrive log message less verbose\""
    },
    {
      "commit": "308ea0cda8afa54d44ae1cfc93692ee72a8bb449",
      "tree": "9a879f78e6dc8e0ee52572937c9faade2eef537c",
      "parents": [
        "2d8edbc953be847c1e95e68225a50a5dc4262163"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Mon Oct 22 13:10:25 2018 -0700"
      },
      "committer": {
        "name": "Yang Lu",
        "email": "yanglu@google.com",
        "time": "Thu Oct 25 01:01:16 2018 +0000"
      },
      "message": "Pull process cpu stats atom.\n\nBug: 113353129\nTest: manual + statsd_test\n\nChange-Id: I4dde181e328506c119aa3994b1a243d7a9d61e25\n"
    },
    {
      "commit": "328432d887a4a4946aa8ed4392df324e0054b579",
      "tree": "925662fe43a13cecd73944338a4b120a52420225",
      "parents": [
        "8884cfc13ef7a8848a41094e4452c7a72a62c908"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Wed Oct 24 16:18:09 2018 -0700"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Wed Oct 24 16:26:05 2018 -0700"
      },
      "message": "make testdrive log message less verbose\n\n1. Use custom TestDriveFormatter for log output.\nIt should be easy to fine tune it from here.\n2. Fine tune logging level\n\nNow the output looks like this:\n\n./out/host/linux-x86/bin/statsd_testdrive 10\nWARNING: An illegal reflective access operation has occurred\nWARNING: Illegal reflective access by com.google.protobuf.Utf8$UnsafeProcessor (file:/android2/master/out/host/linux-x86/framework/statsd_testdrive.jar) to field java.nio.Buffer.address\nWARNING: Please consider reporting this to the maintainers of com.google.protobuf.Utf8$UnsafeProcessor\nWARNING: Use --illegal-access\u003dwarn to enable warnings of further illegal reflective access operations\nWARNING: All illegal access operations will be denied in a future release\nPushed the following config to statsd:\nid: 12345\nevent_metric {\n  id: 1111\n  what: 1234567\n}\natom_matcher {\n  id: 1234567\n  simple_atom_matcher {\n    atom_id: 10\n  }\n}\n\n......\n\nhash_strings_in_metric_report: false\n\nNow please play with the device to trigger the event. All events should be dumped after 1 min ...\nSuccess!\nGot following metric data dump:\nmetric_id: 1111\nevent_metrics {\n  data {\n\n.....\n\n        state: RELEASE\n      }\n    }\n  }\n}\n\nTest: manual test\nChange-Id: I9fcb09bbd1663f0eae85d428ed45a3b139f62782\n"
    },
    {
      "commit": "eb919bc560151f9f26bd3dc102069c503fd85eae",
      "tree": "0733bff62208aa348ddb528948fd05fcb1607256",
      "parents": [
        "bd0093e18210b817ec118e0fcaf901748a6e13e1",
        "0db2c27df7d2daa77f0887f462a2ba5f4c8cd1da"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Oct 24 14:23:59 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 24 14:23:59 2018 -0700"
      },
      "message": "Merge \"Allow implicit-fallthrough warnings locally.\" am: dd68cf76de\nam: 0db2c27df7\n\nChange-Id: Iad6403f231cd7c125a57ec0913e996224ecc3b24\n"
    },
    {
      "commit": "bbdd67d19f4912fbec00220b22e44c68eff5ab3f",
      "tree": "a837c507d7b7006e54330db020729d73d8dc1e98",
      "parents": [
        "7a1b30e9db4c73e9109e99fc8cdaeafbb8218709"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Oct 24 12:15:56 2018 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Oct 24 13:12:13 2018 -0700"
      },
      "message": "Allow atoms to log fields in bytes format.\n\nThere are an increasing number of requests to log data in complex format to statsd, while the data\nis not expected to be parsed or aggregated by statsd and only to be uploaded as events.\n\nInstead of making an exception for each of these cases in a hard coded way, this CL add a feature to\nannotate these field in atoms.proto and the stats-log-api-gen tool will produce byte array\ninterfaces for them.\n\nNote that log_msg does not have byte array type, and only has string type, when statsd receives the\nlog, these fields are in string type. Only when the atom is written to proto, we will check if this\nfield should be bytes field and write it to protobuf in message format.\n\nChange-Id: If53dd95c5826710c76d7fe982bf951a435dfc738\nFix: 118386797\nTest: unit test \u0026 manual test\n"
    },
    {
      "commit": "10a34d10744dc79723020456dd4c0983851d9054",
      "tree": "dead4c3e1efd4fd714732fc283fcececa5139379",
      "parents": [
        "94d3f53237b26957d0bb4f177ecb6093cb912bf5"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Wed Sep 19 13:56:12 2018 -0700"
      },
      "committer": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Wed Oct 24 11:34:08 2018 -0700"
      },
      "message": "[Screenshot] Accept data space and pixel format for screenshot.\n\nPreviously we always take screenshot in SRGB data space. It\u0027s been working well\nsince the screen only has sRGB color. However, since we are moving towards\nwider color, we can\u0027t make this assumption any more. Thus we need to pass the\ndata space and pixel format of the screenshot buffer into SurfaceFlinger and\nrender screenshot in the desired data space and pixel format.\n\nBUG: 111436479\nBUG: 116112787\nTest: Build, flash, boot and take screenshot, observe there\u0027s no color shift.\nTest: Take screenshot, verified the color profile is correct of the png.\nChange-Id: I9b1a1c878f8099715c2a2c296aaf3419ca6e9bd5\n"
    },
    {
      "commit": "159a410d7b17b40f3e8af739aabf6daaa2bbdbfc",
      "tree": "e223485f8ded0b38f06b4ad6756f83b0f19d1fcc",
      "parents": [
        "c2896a27fadc416458e883282bb0d8a0f81ee13a"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Oct 23 23:15:58 2018 -0700"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Oct 23 23:15:58 2018 -0700"
      },
      "message": "BootAnimation: Use system log\n\nTo match the rest of booting log in system_server,\ne.g. SystemServerTiming and SystemUIBootTiming.\n\nTest: build\nBug: 118241273\nChange-Id: Idf6aca0c503b85c645a7c3d5f430c321a8d83cca\n"
    },
    {
      "commit": "59894496614f0f382c4306b542236dcf6d6f3d33",
      "tree": "87f6becdf61ff4ad3df884b65b481f870ac98668",
      "parents": [
        "cb79ffd30a59ad6f675a86b2e2de87b5fc4d3e5d",
        "f837b8e44214b4480dea481d8063411da95cf52b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 23 23:12:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 23 23:12:07 2018 +0000"
      },
      "message": "Merge \"Move Settings atom enums to its own file.\""
    },
    {
      "commit": "d845abbac00de26a8cad97d704d85f09b0346c41",
      "tree": "b59f89614cdc75ed959ae6dc39052b4385f1919b",
      "parents": [
        "0723dac46cf52f9c27e56da5448b9f21e8acfa71",
        "183c2bd09a2272bb584044ca7c24c519839cf13c"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Tue Oct 23 21:57:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 23 21:57:49 2018 +0000"
      },
      "message": "Merge \"Notification atoms changes\""
    },
    {
      "commit": "f837b8e44214b4480dea481d8063411da95cf52b",
      "tree": "f787f9ae1bc49e87f954c9e1ea7d854b12e27a6e",
      "parents": [
        "845a41cb8a21928faa03aeebfac3ab5594c107da"
      ],
      "author": {
        "name": "Fan Zhang",
        "email": "zhfan@google.com",
        "time": "Tue Oct 23 12:38:30 2018 -0700"
      },
      "committer": {
        "name": "Fan Zhang",
        "email": "zhfan@google.com",
        "time": "Tue Oct 23 13:04:07 2018 -0700"
      },
      "message": "Move Settings atom enums to its own file.\n\nBug: 117860032\nTest: rebuild\nChange-Id: I26f634c36de0cf946951d85f0000468e3726db23\n"
    },
    {
      "commit": "845a41cb8a21928faa03aeebfac3ab5594c107da",
      "tree": "f454c168fdd077656cf70439242875c8148f1507",
      "parents": [
        "fb5f1bd42a630e1cd60cafa000826934a3c8bb80",
        "2e6d4243ec9d04fcc1cb5cf9b076162dfadb8864"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 23 18:24:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 23 18:24:57 2018 +0000"
      },
      "message": "Merge \"Migrate a few metrics from metrics_contant to atom proto\""
    },
    {
      "commit": "183c2bd09a2272bb584044ca7c24c519839cf13c",
      "tree": "d6e4721437854552c0442c3e0383cde42bccf830",
      "parents": [
        "74494b51729fb11bfe585c79e85937b733c5ad38"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Thu Oct 18 13:52:10 2018 -0700"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Mon Oct 22 19:00:25 2018 -0700"
      },
      "message": "Notification atoms changes\n\nTest: Adding an atom doesn\u0027t break Android!\n\nChange-Id: I43d5bbc808a58856fd27132824bea1d022022da0\n"
    },
    {
      "commit": "2e6d4243ec9d04fcc1cb5cf9b076162dfadb8864",
      "tree": "19ce338a14bcd54fe72dc1f6db2e686e4f61338c",
      "parents": [
        "916c13b5f51458aff8927e7ee507d1e932d9a002"
      ],
      "author": {
        "name": "Fan Zhang",
        "email": "zhfan@google.com",
        "time": "Mon Oct 22 15:51:39 2018 -0700"
      },
      "committer": {
        "name": "Fan Zhang",
        "email": "zhfan@google.com",
        "time": "Mon Oct 22 15:51:39 2018 -0700"
      },
      "message": "Migrate a few metrics from metrics_contant to atom proto\n\nBug: 117860032\nTest: rebuild\nChange-Id: Idfd48123beed4c5be02b12f38bafa975e89f7dfb\n"
    },
    {
      "commit": "74494b51729fb11bfe585c79e85937b733c5ad38",
      "tree": "bf353a5df6fbb3b296f43ba9d59d0e180d8b154b",
      "parents": [
        "ad871b2d4cfa2fe8b1eb283267ab43a8646fa03c",
        "916c13b5f51458aff8927e7ee507d1e932d9a002"
      ],
      "author": {
        "name": "Fan Zhang",
        "email": "zhfan@google.com",
        "time": "Mon Oct 22 22:24:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 22 22:24:11 2018 +0000"
      },
      "message": "Merge \"Add a Settings atom\""
    },
    {
      "commit": "23bab6c7668ced8d94089e664975ac6888a3e220",
      "tree": "16c7ad2e5702a6caa72bd12b353815e75e8d2929",
      "parents": [
        "2e0e8cf54e87e3c88bed52a49f91dc9c77cfd77d",
        "8f99bff2e417b7cf0ba9de331cb72c2c28693fa1"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Mon Oct 22 21:43:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 22 21:43:29 2018 +0000"
      },
      "message": "Merge \"Add instrumentation flag to get access to full exteranl storage.\""
    },
    {
      "commit": "e1afb6cb297f23e905de5b8eadb33461358d6aae",
      "tree": "7839e9ca96e8e99593af7962ed7a75676fcce046",
      "parents": [
        "e08bef258c6da238a274959aad66154d4a20b0c7"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 22 12:25:50 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 22 12:25:50 2018 -0700"
      },
      "message": "Allow implicit-fallthrough warnings locally.\n\nIt will be a global error by default.\nCherry pick lost changes from AOSP, for Android.mk and main.cpp.\n\nTest: make checkbuild\nBug: 112564944\nChange-Id: I6f1024fa5e31302af27fa9d5bac195e511f4ba20\nExempt-From-Owner-Approval: do not block on new warnings\n"
    },
    {
      "commit": "916c13b5f51458aff8927e7ee507d1e932d9a002",
      "tree": "f5b6519220a3807ac31c9f4a30fc912dcbb6e835",
      "parents": [
        "e08bef258c6da238a274959aad66154d4a20b0c7"
      ],
      "author": {
        "name": "Fan Zhang",
        "email": "zhfan@google.com",
        "time": "Tue Oct 16 22:49:45 2018 -0700"
      },
      "committer": {
        "name": "Fan Zhang",
        "email": "zhfan@google.com",
        "time": "Mon Oct 22 11:34:50 2018 -0700"
      },
      "message": "Add a Settings atom\n\nBug: 117860032\nTest: rebuild\nChange-Id: I0cd0422891ca9a18168eb57cf4b61ad1089263f6\n"
    },
    {
      "commit": "1587e134967fa9c34663b8c7f128177d1366598a",
      "tree": "ad78013684f9eb906db7aad6222111682783f824",
      "parents": [
        "a2c044116a5849c96faaac57f405f871a6c6b8ad"
      ],
      "author": {
        "name": "Yang Lu",
        "email": "yanglu@google.com",
        "time": "Mon Oct 22 16:19:40 2018 +0000"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Mon Oct 22 09:31:04 2018 -0700"
      },
      "message": "Revert \"Pull process cpu stats into statsd\"\n\nThis reverts commit b35b5f7c6b27943e63da1f9c1c50e375496e1d94.\n\nReason for revert: move the refactoring/renaming to another CL.\n\nTest: statsd test\n\nChange-Id: Ia3445beb0df813adba0d3d6e137a363e694b5da1\n"
    },
    {
      "commit": "07a9c42c39d21de88cfd7df9f332e22e16c8baee",
      "tree": "29e85346a252906789660cfcf8b18a3a035c6473",
      "parents": [
        "d41e8b49de0e4b28e50bc1670bb69ea76cae6e5d",
        "d5db50ee93d3e2e12046b1f457e6841a2291c5da"
      ],
      "author": {
        "name": "Antoan Angelov",
        "email": "arangelov@google.com",
        "time": "Mon Oct 22 11:59:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 22 11:59:25 2018 +0000"
      },
      "message": "Merge \"Add UserRestrictionChanged atom and log to track user restriction events.\""
    },
    {
      "commit": "8f99bff2e417b7cf0ba9de331cb72c2c28693fa1",
      "tree": "cf276c88b1b60b01b4e81b2c1fd1aea7f86d0d98",
      "parents": [
        "5b3a6a81871925ff9a6fdcee2f90aa8a09b87670"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Sun Oct 21 16:19:53 2018 -0700"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Sun Oct 21 16:30:52 2018 -0700"
      },
      "message": "Add instrumentation flag to get access to full exteranl storage.\n\nWhen starting a process under instrumentation using this new\n\"--no-isolated-storage\" flag, the process would be able to see the\nfull external storage.\n\nBug: 117229024\nTest: adb shell am instrument --no-isolated-storage \\\n      -e class android.media.cts.EncodeDecodeTest#testEncodeDecodeVideoFromBufferToBuffer720p \\\n      -w android.media.cts/android.test.InstrumentationTestRunner\nChange-Id: I7973b123cf4fc08e8ce2b05bd4c23fa41b1cdcdf\n"
    },
    {
      "commit": "658bc0e04ff6000047a21d58432f206838a5b3dc",
      "tree": "886adcad6cfc69c9671b40b1686a5b8b52d7d0c8",
      "parents": [
        "91d12f15771890fc0a3b339f6acbd8a2e17dfe65"
      ],
      "author": {
        "name": "Yang Lu",
        "email": "yanglu@google.com",
        "time": "Fri Oct 19 09:03:51 2018 -0700"
      },
      "committer": {
        "name": "Vincent Palomares",
        "email": "paillon@google.com",
        "time": "Fri Oct 19 20:45:26 2018 +0000"
      },
      "message": "Persist data to disk when system shuts down\n\nThis is a cherry-pick from master to pi-dev.\n\nTest: local test\n\nBUG: b/112432890\nChange-Id: Ie360f5c8df53d3b5b04f23df43ab8dc14b69ae26\nMerged-In: Iaed318671a719cc366d4e6be9f77270147ba6596\n"
    },
    {
      "commit": "8767a4ede6574182a96d5fe7cd8651beadee679b",
      "tree": "ebdf7bec801ddb081c02efbb2d21b451715ea623",
      "parents": [
        "c4b647458c89468f1ad86b1700133a42b740d793"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 19 12:13:48 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Oct 19 12:13:48 2018 -0700"
      },
      "message": "Allow implicit-fallthrough warnings locally.\n\nIt will be a global error by default.\n\nTest: make checkbuild\nBug: 112564944\nChange-Id: Ib23d0cc8b95a3734d5bd28f8c9d967df669cfdf8\nExempt-From-Owner-Approval: do not block on new warnings\n"
    },
    {
      "commit": "d5db50ee93d3e2e12046b1f457e6841a2291c5da",
      "tree": "b07649b3da3a9460d4802ac632e7b90699e80295",
      "parents": [
        "a28e38fa3aca19276cdaed8e037d6cdc61edf114"
      ],
      "author": {
        "name": "arangelov",
        "email": "arangelov@google.com",
        "time": "Fri Oct 12 20:24:39 2018 +0100"
      },
      "committer": {
        "name": "arangelov",
        "email": "arangelov@google.com",
        "time": "Fri Oct 19 17:26:09 2018 +0100"
      },
      "message": "Add UserRestrictionChanged atom and log to track user restriction events.\n\nTest: none\nBug: 114382154\nChange-Id: I20dcdce657e1fed3057d84df5f427542bbabf2cc\n"
    },
    {
      "commit": "37c3c958d7f6e447b8fb229e5e4d82668ddcfd9d",
      "tree": "ca71a512d99c8605d61b750b1117256670fdbbad",
      "parents": [
        "196b939a1030bbb8a41ee126eba8fb8bbc8d0c8c",
        "298e07fb04d855ef6e1edd1a14dcf85cb0315877"
      ],
      "author": {
        "name": "Rafal Slawik",
        "email": "rslawik@google.com",
        "time": "Fri Oct 19 07:41:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 19 07:41:20 2018 +0000"
      },
      "message": "Merge \"Rename pgfault and pgmajfault fields\""
    },
    {
      "commit": "7dd9e171c28cdf4b08bc8f337f81dc3258d3f5c7",
      "tree": "a747931988102e11ad0eb219d9feca03e3bc86ba",
      "parents": [
        "e730fd646fabee678034935ef6440444ddfe1a81",
        "849dfdc25b0ddc1bec2916432570c7c6b2d5d258"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 18 21:32:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 18 21:32:29 2018 +0000"
      },
      "message": "Merge \"metric activation and TTL.\""
    },
    {
      "commit": "849dfdc25b0ddc1bec2916432570c7c6b2d5d258",
      "tree": "31b3999deab2eae73cd92e8a27b67b8c9ca0186e",
      "parents": [
        "7c20053c1c89a838b9fbd353065ba3275ee200c7"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Fri Oct 12 15:41:45 2018 -0700"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Thu Oct 18 10:45:31 2018 -0700"
      },
      "message": "metric activation and TTL.\n\nCurrently, once a metric config is pushed to statsD, it will\nstart to collect metrics immediately. This CL introduces the metric\nactivation logic. When metric needs an activation, the metric producer\nwill hold until the activation event is detected. Then the metric producer\nstarts metric generation until the TTL expires (timebomb).\n\nThis is to support Mainline where it wants to collect a few metrics for\na few hours when the binary push starts or flag flips.\n\nTest: statsd test\nBUG: b/117858835\nChange-Id: I992ae98f4303d5b79932eb94eddf6c19ded3727e\n"
    },
    {
      "commit": "298e07fb04d855ef6e1edd1a14dcf85cb0315877",
      "tree": "2cbee71de1af853a23541cbc6bcf2f4d85d20665",
      "parents": [
        "c749e15a2b5ba498edb61feb4cbd2ccd595d093d"
      ],
      "author": {
        "name": "Rafal Slawik",
        "email": "rslawik@google.com",
        "time": "Thu Oct 18 14:35:29 2018 +0100"
      },
      "committer": {
        "name": "Rafal Slawik",
        "email": "rslawik@google.com",
        "time": "Thu Oct 18 14:44:44 2018 +0100"
      },
      "message": "Rename pgfault and pgmajfault fields\n\nBug: 115968899\nTest: existing tests pass\nChange-Id: Iff5932c55941772dda5d85ee1ccdd243ec8856c8\n"
    },
    {
      "commit": "32f07af29c80648f27c85516af601f969efa5316",
      "tree": "5c5518b9f4a10bc54bf855b345f8b8baf03e55bc",
      "parents": [
        "90412b0d096b248c4395e18d7ccb62fba4a9bc4f"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Sat Oct 13 17:08:11 2018 -0700"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Wed Oct 17 17:47:11 2018 -0700"
      },
      "message": "Match pulled events in gauge metric.\n\nBug: b/117703265\n\nTest: statsd unit tests\nChange-Id: Ia4c67ebfdb4f9647d4135c6879f04faa4efdd471\n"
    },
    {
      "commit": "7c5c113f531d859df71244d56514b855a886165a",
      "tree": "5d88123feca7a55ba82e6d19edaaca95e1e9d5cc",
      "parents": [
        "03cc437b08441f67d5e1f3d18f224385b61a4afe",
        "0862158f13be9b6a940cc0b5940fe639edb89968"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 17 16:30:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 17 16:30:55 2018 +0000"
      },
      "message": "Merge \"Snapshot memory state for some native processes\""
    },
    {
      "commit": "0862158f13be9b6a940cc0b5940fe639edb89968",
      "tree": "e4006b8d590111023f2457854fd8b0aac2df6a6e",
      "parents": [
        "5269abcf95448bad9d96fe7b61e3dface2ee8f3b"
      ],
      "author": {
        "name": "Rafal Slawik",
        "email": "rslawik@google.com",
        "time": "Mon Oct 15 14:53:07 2018 +0100"
      },
      "committer": {
        "name": "Rafal Slawik",
        "email": "rslawik@google.com",
        "time": "Wed Oct 17 10:34:27 2018 +0100"
      },
      "message": "Snapshot memory state for some native processes\n\nWhich processes to snapshot is controlled by a whitelist.\n\nBenchmark for taking the snapshot:\nhttps://docs.google.com/spreadsheets/d/1vG9ku8Uu8104CmKbO4cNeEKVeeByvHY--p0_dK1GAdA/edit?usp\u003dsharing\n(The difference between the first two sheets.)\n~20ms constant cost plus ~4ms per process.\n\nBug: 115968899\nTest: manually verified that statsd is included in the report\nChange-Id: Iba680531c563ba28fae849e44044313866b2103f\n"
    },
    {
      "commit": "dfa4c24aafd18b07077427b36d302414bceff5c1",
      "tree": "7ec49036ee1e5b654b99207bc31276ed51d91451",
      "parents": [
        "4eb4f745f88b6515ff2090e1fd941abdf8c22b21",
        "41e606c1fce2def938bf093896c7bedcf642be1a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 16 21:46:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 16 21:46:49 2018 +0000"
      },
      "message": "Merge \"Add pulled atom subscription for shell.\""
    },
    {
      "commit": "cfc152af9cbfc47ed4c8ab8a8b6e9ee4214206ea",
      "tree": "016286d0e64b1bec670fdfe4614ec115c47f8a47",
      "parents": [
        "ecb82d9f35cc3f38a5689a02dc3cda67a98c593f",
        "b35b5f7c6b27943e63da1f9c1c50e375496e1d94"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Tue Oct 16 20:48:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 16 20:48:57 2018 +0000"
      },
      "message": "Merge \"Pull process cpu stats into statsd\""
    },
    {
      "commit": "b35b5f7c6b27943e63da1f9c1c50e375496e1d94",
      "tree": "496c66fbe96173bdd4ee6c232779135725974f46",
      "parents": [
        "d51095555f945d2faa5e516e2c6cc653097c7586"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Sat Oct 13 23:25:11 2018 -0700"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Oct 15 19:59:33 2018 -0700"
      },
      "message": "Pull process cpu stats into statsd\n\nHere is a sample output:\n\n$ adb shell cmd stats pull-source 10035\nPull from 10035: { 1539500981000000000 222067020557 (10035)0x10000-\u003e0[I]\n0x20000-\u003eksoftirqd/0[S] 0x30000-\u003e0[L] 0x40000-\u003e720[L]  }\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e1000[I]\n0x20000-\u003eandroid.hardware.graphics.composer@2.1-service[S]\n0x30000-\u003e1390[L] 0x40000-\u003e2240[L]  }\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e1002[I]\n0x20000-\u003eandroid.hardware.bluetooth@1.0-service-qti[S] 0x30000-\u003e50[L]\n0x40000-\u003e80[L]  }\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e1010[I] 0x20000-\u003eandroid.hardware.wifi@1.0-service[S]\n0x30000-\u003e80[L] 0x40000-\u003e150[L]  }\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e1069[I] 0x20000-\u003elmkd[S] 0x30000-\u003e60[L] 0x40000-\u003e280[L]\n}\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e9999[I] 0x20000-\u003etraced_probes[S] 0x30000-\u003e0[L]\n0x40000-\u003e10[L]  }\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e1066[I] 0x20000-\u003estatsd[S] 0x30000-\u003e160[L]\n0x40000-\u003e160[L]  }\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e10024[I] 0x20000-\u003ecom.android.systemui[S]\n0x30000-\u003e3020[L] 0x40000-\u003e740[L]  }\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e10058[I] 0x20000-\u003ecom.ustwo.lwp[S] 0x30000-\u003e9120[L]\n0x40000-\u003e7810[L]  }\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e10080[I] 0x20000-\u003ecom.google.android.apps.turbo[S]\n0x30000-\u003e410[L] 0x40000-\u003e150[L]  }\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e10085[I] 0x20000-\u003ecom.google.android.gms.persistent[S]\n0x30000-\u003e9890[L] 0x40000-\u003e2560[L]  }\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e10110[I] 0x20000-\u003ecom.google.android.ims[S]\n0x30000-\u003e530[L] 0x40000-\u003e210[L]  }\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e10097[I] 0x20000-\u003ecom.google.android.apps.maps[S]\n0x30000-\u003e1170[L] 0x40000-\u003e290[L]  }\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e10014[I] 0x20000-\u003eandroid.process.acore[S]\n0x30000-\u003e500[L] 0x40000-\u003e180[L]  }\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e10131[I] 0x20000-\u003ecom.google.android.contacts[S]\n0x30000-\u003e270[L] 0x40000-\u003e160[L]  }\nPull from 10035: { 1539500981000000000 222067020557\n(10035)0x10000-\u003e2000[I] 0x20000-\u003ecmd[S] 0x30000-\u003e20[L] 0x40000-\u003e60[L]  }\n\nBug: 113353129\nTest: will add cts\nChange-Id: Ia5335910e4f044791e9043823cc4f007d372e7d3\n"
    },
    {
      "commit": "dd7dc4f7ded8d4898ebd887dc52e8caf690f1768",
      "tree": "95a125863a469e4c249b1f4af175faf4106e7852",
      "parents": [
        "d51095555f945d2faa5e516e2c6cc653097c7586"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Fri Oct 12 15:30:42 2018 -0700"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Oct 15 15:47:17 2018 -0700"
      },
      "message": "local test drive tool for statsd\n\nexample usage:\n\n$./out/host/linux-x86/bin/statsd_testdrive 10009\nUploading the following config to statsd:\nid: 56789\ngauge_metric {\n  id: 2222\n  what: 1234567\n  gauge_fields_filter {\n    include_all: true\n  }\n  bucket: ONE_MINUTE\n}\natom_matcher {\n  id: 1234567\n  simple_atom_matcher {\n    atom_id: 10009\n  }\n}\nallowed_log_source: \"AID_GRAPHICS\"\nallowed_log_source: \"AID_INCIDENTD\"\nallowed_log_source: \"AID_STATSD\"\nallowed_log_source: \"AID_RADIO\"\nallowed_log_source: \"com.android.systemui\"\nallowed_log_source: \"com.android.vending\"\nallowed_log_source: \"AID_SYSTEM\"\nallowed_log_source: \"AID_ROOT\"\nallowed_log_source: \"AID_BLUETOOTH\"\nhash_strings_in_metric_report: false\n\nSuccess!\n\nSuccess!\n\nNow wait for 2 minutes ...\nSuccess!\n\nGot following metric data:\nmetric_id: 2222\ngauge_metrics {\n  data {\n    bucket_info {\n      atom {\n        cpu_time_per_uid {\n          uid: 0\n          user_time_millis: 581844000\n          sys_time_millis: 135242354000\n        }\n      }\n      elapsed_timestamp_nanos: 610841423012521\n      start_bucket_elapsed_millis: 610841423\n      end_bucket_elapsed_millis: 610880290\n    }\n    bucket_info {\n      atom {\n        cpu_time_per_uid {\n          uid: 0\n          user_time_millis: 581904000\n          sys_time_millis: 135251114000\n        }\n      }\n      elapsed_timestamp_nanos: 610880295723373\n      bucket_num: 65\n    }\n    bucket_info {\n      atom {\n        cpu_time_per_uid {\n          uid: 0\n          user_time_millis: 581944000\n          sys_time_millis: 135264674000\n        }\n      }\n      elapsed_timestamp_nanos: 610940293803881\n      start_bucket_elapsed_millis: 610940290\n      end_bucket_elapsed_millis: 610961579\n    }\n  }\n}\ntime_base_elapsed_nano_seconds: 606980290711787\nbucket_size_nano_seconds: 60000000000\n\nSuccess!\n\nTest: manual test\nChange-Id: I8ea5249807cf3cf6971e3bbc8696ff33025ba8d7\n"
    },
    {
      "commit": "b49d8ec17fab5fd3a6e3b80609ba10b6febce5d3",
      "tree": "c8fa29d3472c68ae76754e4309b799e1b31791f9",
      "parents": [
        "8aaf27259c410b718e0e20630a6c4a355f760cce",
        "a8a304458b89755a8ab282be9706fe07f2863e69"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 15 17:43:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 15 17:43:39 2018 +0000"
      },
      "message": "Merge \"Fix the typos and naming convention in atoms.proto\""
    },
    {
      "commit": "7ab7531daba0ce66961b148a44d689abc2837849",
      "tree": "0309da17f6a23872f30d8574f3b3ebd345af8920",
      "parents": [
        "a68e3ccd83ef68645d64676df7c58a98f43dea9d",
        "c06331adee2749ffd0622fdf99b141f5a7130e52"
      ],
      "author": {
        "name": "Marcin Oczeretko",
        "email": "marcinoc@google.com",
        "time": "Mon Oct 15 14:43:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 15 14:43:18 2018 +0000"
      },
      "message": "Merge \"Add more fields to LooperStats atom\""
    },
    {
      "commit": "a8a304458b89755a8ab282be9706fe07f2863e69",
      "tree": "b5ed10a2569ace74be1cab2ec3cc3946db250035",
      "parents": [
        "a20743b92df044b6670e750669f3d1c7fb1c5738"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Sat Oct 13 23:46:34 2018 -0700"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Sun Oct 14 22:04:52 2018 -0700"
      },
      "message": "Fix the typos and naming convention in atoms.proto\n\nTest: cts,statsd\nBUG: b/117708491\n\nChange-Id: Ib381ef66ae9925938e1f70b9a8869ef008e3d335\n"
    },
    {
      "commit": "a20743b92df044b6670e750669f3d1c7fb1c5738",
      "tree": "85552d826ebd8770cdf1e8c95d224de973b43a29",
      "parents": [
        "2422220258bf6bba02728581c7948d08c322d67a",
        "b6b77c6fb46f5f4b53880f1419339eae5df49484"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 13 23:56:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Oct 13 23:56:42 2018 +0000"
      },
      "message": "Merge \"Make state atom field annotation name consistent between google3 and android.\""
    },
    {
      "commit": "b6b77c6fb46f5f4b53880f1419339eae5df49484",
      "tree": "b32d27f50743ae699db159fbfb47303c7cc8c949",
      "parents": [
        "7ccf46bed5dbd4ab585f61b98bf69ace00bd4c18"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Fri Oct 12 19:33:24 2018 -0700"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Sat Oct 13 10:40:09 2018 -0700"
      },
      "message": "Make state atom field annotation name consistent between google3 and android.\n\nTest: statsd test\nFix: b/117681672\n\nChange-Id: I3b0145516c594cc23565df67acc1cfa9f79d306e\n"
    }
  ],
  "next": "1863ff2644726d05a249ec2ce9706f52f961ab5b"
}
