)]}'
{
  "log": [
    {
      "commit": "a98bd9989e88896c2caf945bf52c9164587bffc3",
      "tree": "709beaaf90169242319b09966dcaae835a4e755e",
      "parents": [
        "40a910f31d754d51f5bad471d695403ce5b30848",
        "947fbce521d9e8377df03e3c1c31884ed5577f32"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 23 04:52:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 23 04:52:35 2017 +0000"
      },
      "message": "Merge \"Captures metrics on disk when devices reboot and shutdown. Specifically,\""
    },
    {
      "commit": "40a910f31d754d51f5bad471d695403ce5b30848",
      "tree": "c30c3ef34286c165f43ab112ae85fb95d95f7470",
      "parents": [
        "e8ebb8cd8df1d453918dfb6cf6711e69dee1126d",
        "c18abedfe29eb51fec14797ecf0bb101d22900b2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 23 04:04:55 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 23 04:04:55 2017 +0000"
      },
      "message": "Merge \"Fixes out of range bug in SimpleConditionTracker.\""
    },
    {
      "commit": "947fbce521d9e8377df03e3c1c31884ed5577f32",
      "tree": "cc8bda1b030cf36f30ac1a6a9078291c73d2db16",
      "parents": [
        "74b1513fe69cbf641e2dd84bc37194db80c39480"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Wed Nov 15 22:50:23 2017 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Wed Nov 22 18:39:23 2017 -0800"
      },
      "message": "Captures metrics on disk when devices reboot and shutdown. Specifically,\n\n1. Create intent receiver in StatsCompanionService to listen to shutdown\nevents.\n2. Create StatsWriter class to handle disk writes and deleting files.\n3. Update StatsLogProcessor, ConfigManager, and StatsService to handle\nfiles on disk using StatsWriter.\n4. Add a wrapper for ConfigMetricsReport.\n\nStill TODO is to be able to add a guardrail to prevent accumulating\nexcessive amount files on disk, which will be followed up by another\nchange.\n\nTest: statsd, statsd_test\nChange-Id: Ia0b3af315af545daa8b0078b3700c600aa7c285f\n"
    },
    {
      "commit": "c18abedfe29eb51fec14797ecf0bb101d22900b2",
      "tree": "fbe8e2dd3ce3fa840de942ad4f898393dbe5ab48",
      "parents": [
        "916c83d2271d6d536e3ca2ea2b57892d9a15470c"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Nov 22 16:47:59 2017 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Nov 22 16:49:11 2017 -0800"
      },
      "message": "Fixes out of range bug in SimpleConditionTracker.\n\nOne of the unit tests was flaky because mStopAllLogMatcherIndex may\nbe greater than the size of eventMatcherValues, so we access an\nelement that is greater than the vector size.\n\nTest: Check unit-tests still work. Flake is a bit hard to find.\nChange-Id: Ib177cd0ae00bbe7aa6982c6ec31d9094253a9c10\n"
    },
    {
      "commit": "74b1513fe69cbf641e2dd84bc37194db80c39480",
      "tree": "a5faf0c898b5299fbdbb1aa398cb96b065da7a97",
      "parents": [
        "9f36f6b3f4bdebf18e1af8ff4789d66cde85a2bc",
        "756cd48749eb63592b4cf8f6e16f7366debec054"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 23 00:26:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 23 00:26:48 2017 +0000"
      },
      "message": "Merge \"Set the metric name for alerts in fake config and add a test to make sure the fake config is valid..\""
    },
    {
      "commit": "9f36f6b3f4bdebf18e1af8ff4789d66cde85a2bc",
      "tree": "3a771da99e0b0c4cf8fb5e99a548698e394b3ba5",
      "parents": [
        "5719bceb4eae5c51f50630623bf83febfc9b39ab",
        "7c334a129e93e405a72e8299a1cd928af079d14f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 23 00:12:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 23 00:12:40 2017 +0000"
      },
      "message": "Merge \"Make member function as const whenever possible.\""
    },
    {
      "commit": "7c334a129e93e405a72e8299a1cd928af079d14f",
      "tree": "654c6e4115c465fa69667a64e4628c9b2769ea28",
      "parents": [
        "916c83d2271d6d536e3ca2ea2b57892d9a15470c"
      ],
      "author": {
        "name": "Yangster",
        "email": "yanglu@google.com",
        "time": "Wed Nov 22 14:24:24 2017 -0800"
      },
      "committer": {
        "name": "Yangster",
        "email": "yanglu@google.com",
        "time": "Wed Nov 22 14:28:00 2017 -0800"
      },
      "message": "Make member function as const whenever possible.\n\nTest: unit tests passed.\nChange-Id: I751cabf305a4b5aa2095853cc951837da0df4c78\n"
    },
    {
      "commit": "756cd48749eb63592b4cf8f6e16f7366debec054",
      "tree": "fe6f5f541a76d726e81889b05b16f07d316445b0",
      "parents": [
        "916c83d2271d6d536e3ca2ea2b57892d9a15470c"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Tue Nov 21 21:58:44 2017 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Wed Nov 22 13:43:25 2017 -0800"
      },
      "message": "Set the metric name for alerts in fake config and add a test to make sure the fake config is valid..\n\nTest: unit test passed.\nChange-Id: I1879fc523cca9fc6c672332ab4ac383f21dc16fc\n"
    },
    {
      "commit": "93f46aa9f135e8157b1d81df625bd8934cb1368f",
      "tree": "97fc84d74c490a3d9edb64493faf97d6baf4a98a",
      "parents": [
        "7430d8d89667a39c5f993dc46c00c98814382f72"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Nov 22 12:51:10 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Nov 22 12:51:10 2017 -0800"
      },
      "message": "Fix ConfigManager unit test.\n\nTest: statsd_test\nChange-Id: I47c5458fef7a30a618e783a94c3f10659d0be742\n"
    },
    {
      "commit": "9cc3890dd1fb8184836935395000a212dccc9f46",
      "tree": "297b6e13068c1f4e569538cf8cefb25452123a60",
      "parents": [
        "181704c9629a6dabedb378a565463e60c072494a",
        "7c8f0a521e9b466bb6b8cef74bcd677a9aed4014"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 22 06:55:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 22 06:55:52 2017 +0000"
      },
      "message": "Merge \"Fix the fake statsd config. Better error messages.\""
    },
    {
      "commit": "9f089f60eba28c1e6b107c260623ab99567d1e4f",
      "tree": "77e9e9fbc21e2917190cdb7d930f6df2f92f4388",
      "parents": [
        "56cc25489eb2a006a5c19e12dfebf4612e99acad",
        "741d0002cdd062d949a88b5b81a3dba7d3115198"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Nov 22 04:32:55 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 22 04:32:55 2017 +0000"
      },
      "message": "Merge \"Revert \"Add a wrapper ConfigMetricReportList to hold multiple ConfigMetricReports\"\""
    },
    {
      "commit": "741d0002cdd062d949a88b5b81a3dba7d3115198",
      "tree": "c89e852697f0ef83fc704e5fe7098e8a794de947",
      "parents": [
        "24904b845f6257f3d6be5374a1e11d67715034c6"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Nov 22 04:30:33 2017 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Nov 22 04:30:33 2017 +0000"
      },
      "message": "Revert \"Add a wrapper ConfigMetricReportList to hold multiple ConfigMetricReports\"\n\nThis reverts commit 24904b845f6257f3d6be5374a1e11d67715034c6.\n\nBroke the build when combined with Ia58d215d30ed7570c0aa1b0627d3b88f8355d425.\n\nChange-Id: Ie54a62ec7471e0183fc2627e06648efda0129a7a\n"
    },
    {
      "commit": "52c4cf38ae980a431175c9d4354134537177d3fc",
      "tree": "d04cfcfcf401cf32b7f5ef70685f0b969fc23233",
      "parents": [
        "005b50086862b43db0278a4f27e19d287ff1cefc",
        "1ff4f4325882d812ded4f75ee6c2b6d352a85c9e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 22 02:16:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 22 02:16:02 2017 +0000"
      },
      "message": "Merge \"Statsd test app.\""
    },
    {
      "commit": "cb8f36286e45c34a0a48213de9081149f0a23536",
      "tree": "b5e9c2832429b1c863a282c1d9d311ce576c9141",
      "parents": [
        "2ffa7f0d126b7d072889cc8b8fed5233c9061e9f",
        "24904b845f6257f3d6be5374a1e11d67715034c6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 22 02:12:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 22 02:12:14 2017 +0000"
      },
      "message": "Merge \"Add a wrapper ConfigMetricReportList to hold multiple ConfigMetricReports\""
    },
    {
      "commit": "34644ce9d0482a793ef65687b3c7349dc52862e8",
      "tree": "6fc258259430c012d015e50671d2ec789b36fe59",
      "parents": [
        "abb2b9af586d2f1684414697d2ff7a49f6e894d8",
        "9e3808cb5449588a59ae07416f7561edc979b370"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 22 00:33:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 22 00:33:06 2017 +0000"
      },
      "message": "Merge \"Adds atom when error is written to dropbox.\""
    },
    {
      "commit": "1ff4f4325882d812ded4f75ee6c2b6d352a85c9e",
      "tree": "285d48f7f5d8e4b5ab7a349c8ae0af96f45ffa8f",
      "parents": [
        "8cfd3d03de5d96797d00b0a4dbdce46be6d8dde1"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Nov 16 17:01:40 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Nov 21 16:22:42 2017 -0800"
      },
      "message": "Statsd test app.\n\nFeatures:\n+ Push baseline config to statsd\n+ Have buttons to write events to StatsLog (plug/unplug, screen on/off, wake locks)\n+ Dump stats log report, and display it on screen (currently support DurationMetricData display).\n\nTest: manual\n\nChange-Id: Ia58d215d30ed7570c0aa1b0627d3b88f8355d425\n"
    },
    {
      "commit": "d215a23179c90eb9f953704fa3ee9c5e9d6dc1df",
      "tree": "76c847b7788125f4d990317ade0c860e4ca1ed52",
      "parents": [
        "acabfe919883bc22c21c89f92a13fb6364b23e69",
        "8d9989bb376f3937d9c8fef07c9cc65ef78cbcae"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 22 00:01:12 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 22 00:01:12 2017 +0000"
      },
      "message": "Merge \"The first step towards adding a guardrail.\""
    },
    {
      "commit": "7c8f0a521e9b466bb6b8cef74bcd677a9aed4014",
      "tree": "34b7f0c5379920844c0936b35a7fa2ed344b62d3",
      "parents": [
        "e9a4b16ea117284362e8317503d3979abe755f7a"
      ],
      "author": {
        "name": "Stefan Lafon",
        "email": "stlafon@google.com",
        "time": "Tue Nov 21 14:49:09 2017 -0800"
      },
      "committer": {
        "name": "Stefan Lafon",
        "email": "stlafon@google.com",
        "time": "Tue Nov 21 14:50:01 2017 -0800"
      },
      "message": "Fix the fake statsd config. Better error messages.\n\nTest: Ran statsd.\n\nChange-Id: Ib3d35024a4929702bc470a8bde267b24a4d867de\n"
    },
    {
      "commit": "24904b845f6257f3d6be5374a1e11d67715034c6",
      "tree": "af65e87006dab9bdab1925513ae874465aa1fe42",
      "parents": [
        "1e7010087727848a715ecfbc97be9d569dc36868"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Mon Nov 20 16:12:21 2017 -0800"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Tue Nov 21 21:36:22 2017 +0000"
      },
      "message": "Add a wrapper ConfigMetricReportList to hold multiple\nConfigMetricReports\n\nTest: statsd, statsd_test\nChange-Id: Ic1ec6e5a31aebb36a1f39a4836e82d97c8be0dfc\n"
    },
    {
      "commit": "9e3808cb5449588a59ae07416f7561edc979b370",
      "tree": "f2fc73a28429c9fc8ee1d49a121f767ac7f0a9e7",
      "parents": [
        "1e7010087727848a715ecfbc97be9d569dc36868"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Mon Nov 20 17:25:34 2017 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Tue Nov 21 13:33:09 2017 -0800"
      },
      "message": "Adds atom when error is written to dropbox.\n\nWe log some of the key fields that indicate an error or crash. For\nmemory reasons, we can\u0027t transfer the entire stack trace into statsd.\n\nTest: Manually observed logging while using an app that crashed.\nChange-Id: I7085277a22a7ba8642b432998280ef59eb1074b9\n"
    },
    {
      "commit": "9253eeadbd6323a7f5accc7ba86e6bd224c9e848",
      "tree": "ff66aa0a02fb8655f1d1856c24ab16b81220319d",
      "parents": [
        "a8f07c0b1e6ba049245ee8a13a80c1a7af0e0a6b",
        "1704e3cf0c445512f0a9644485dd3449e874556b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 21 20:31:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 21 20:31:47 2017 +0000"
      },
      "message": "Merge \"The pm command is no more.\""
    },
    {
      "commit": "a82d460baf0989c7f2eaf36f7e3669748a1a91fd",
      "tree": "a9f33221c1c5a2ee5025ff3a9c65816603113c10",
      "parents": [
        "d28ce0e9e4dde97249047a08f00e2a1ecaf96cfe",
        "a81a0ffa52ca31f31589e2a94d3c5ade1c3bd5c2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 21 19:16:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 21 19:16:21 2017 +0000"
      },
      "message": "Merge \"Sync proto from google3\""
    },
    {
      "commit": "1704e3cf0c445512f0a9644485dd3449e874556b",
      "tree": "4387666a4cf8c8d869735576f2bcf872e945c749",
      "parents": [
        "9352e47db471dcbe659e6396797f09cebd455728"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 31 19:55:42 2017 +0000"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 21 10:17:14 2017 -0800"
      },
      "message": "The pm command is no more.\n\nIt is now just a shell of itself. :)\n\nAlso brings in a few fixes to never try to open files from the system\nprocess.\n\nTest: manual\nChange-Id: Ia8187196af597046fd2e7092dbf19ce1dc1ea457\n"
    },
    {
      "commit": "3d8600a07466d13e695fbcfeef7c64ff1f0971eb",
      "tree": "2a34ef6e7a78d673821b13defa20adaab0d2d342",
      "parents": [
        "3f297c11a9f1975424cca54bb8726fa4c2edadcb",
        "884970e0ba74c96f7c375454d3c58bb3fdc0bf46"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Nov 21 05:58:09 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 21 05:58:09 2017 +0000"
      },
      "message": "Merge \"Define PacketWakeup pushed events for statds\""
    },
    {
      "commit": "884970e0ba74c96f7c375454d3c58bb3fdc0bf46",
      "tree": "0677da650ba8c8daaec73c8443c8d184caf0d6b3",
      "parents": [
        "b92f1eed1b42193d861344851ab4ea2ab4c47860"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Nov 14 22:42:46 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Nov 21 10:02:03 2017 +0900"
      },
      "message": "Define PacketWakeup pushed events for statds\n\nThis patch pushes packet wakeup events collected by\nNetdEventListenerService into the statds service.\n\nExample logs from $ adb logcat -b stats\n11-20 23:33:25.955   955   972 I [44]    : [10014,wlan0,34525,10:e:7e:26:3f:c1,2001:db8:400d:c0b::bc,2001:db8:4:fd00:a00a:dbc8:f5ba:4269,6,5228,49411]\n11-20 23:37:05.809   955  1473 I [44]    : [10014,wlan0,2048,10:e:7e:26:3f:c1,192.168.0.142,192.168.0.39,6,443,45422]\n11-20 23:42:09.233   955  1473 I [44]    : [10014,wlan0,2048,10:e:7e:26:3f:c1,192.168.12.238,192.168.0.39,6,443,40160]\n11-20 23:55:28.162   955  1207 I [44]    : [10059,wlan0,34525,10:e:7e:26:3f:c1,2001:db8:4004:807::200a,2001:db8:4:fd00:a00a:dbc8:f5ba:4269,6,443,42492]\n11-20 23:59:18.343   955  1888 I [44]    : [10059,wlan0,34525,10:e:7e:26:3f:c1,2001:db8:4004:807::200a,2001:db8:4:fd00:a00a:dbc8:f5ba:4269,6,443,42491]\n11-21 00:00:17.952   955  3341 I [44]    : [10014,wlan0,34525,10:e:7e:26:3f:c1,2001:db8:400d:c0b::bc,2001:db8:4:fd00:a00a:dbc8:f5ba:4269,6,5228,49411]\n11-21 00:13:05.552   955  1473 I [44]    : [-1,wlan0,34525,10:e:7e:26:3f:c1,2001:db8:4004:805::200a,2001:db8:4:fd00:a00a:dbc8:f5ba:4269,6,443,38098]\n11-21 00:13:50.606   955  1207 I [44]    : [-1,wlan0,2048,10:e:7e:26:3f:c1,192.168.5.238,192.168.0.39,6,443,40802]\n\nBug: 28806131\nTest: runtest frameworks-net\nChange-Id: I5a3c76498a4b720f0d9308a65b5dd4b32377d0d1\n"
    },
    {
      "commit": "e2cd6d509b17894b95d14523ae3e7c4c7a9a74e3",
      "tree": "2b7ad7cfd0e1f17634e62cea253cc013572fb4ee",
      "parents": [
        "809565b7690ee6d5a504f04c5730d07841a54443"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Thu Nov 09 20:38:30 2017 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Mon Nov 20 15:37:24 2017 -0800"
      },
      "message": "1/ Duration anomaly tracker with alarm.\n2/ Init anomaly from config based on the public language.\n3/ Unit tests for anomaly detection in count/gauge producer.\n4/ Revisit the duration tracker logic.\n\nTest: unit test passed.\nChange-Id: I2423c0e0f05b1e37626954de9e749303423963f2\n"
    },
    {
      "commit": "6596a4e1e873fca42cc2ec044430d87904db23ce",
      "tree": "18ca49d1395fc6d789f950e2c5a3f1df7225cec2",
      "parents": [
        "8a7da69b967f12d31f5589a54a43144b3139972a",
        "af60d7f8b5535ddb3a365ba956dd9638003c2218"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Nov 20 21:51:42 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 20 21:51:42 2017 +0000"
      },
      "message": "Merge \"Use -Werror in frameworks/base\" am: a29836ad04 am: 267a2a8c8a\nam: af60d7f8b5\n\nChange-Id: I9daf24758eab254650dc0ea8809c56d0d536a641\n"
    },
    {
      "commit": "267a2a8c8a5d5086b98a5f8ab6c56000b68b4a15",
      "tree": "b5d5320cf4124b9a00e25dcd59ff83c5d1d50dee",
      "parents": [
        "79d7319d7e85da8becbad003bc353265bb009088",
        "a29836ad045076055157b699d30e9cbdc1e0c4e0"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Nov 20 21:33:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 20 21:33:00 2017 +0000"
      },
      "message": "Merge \"Use -Werror in frameworks/base\"\nam: a29836ad04\n\nChange-Id: Ie76322acc3b471da60a033cfa2474c1039d70339\n"
    },
    {
      "commit": "7921bea2c731277a679fff5ca27c0c4020cfcf76",
      "tree": "ea54c57f7f8b9ea95979bfbf836090107db41484",
      "parents": [
        "4db5cb7ba3527e537862bafb21e18dc34f628fe7",
        "29f69e8f0442f78dba468a15e290fe94729263a5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 20 21:16:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 20 21:16:19 2017 +0000"
      },
      "message": "Merge \"Remove IStatsCallback aidl from master\""
    },
    {
      "commit": "0dc7e54400da07e98cc05e8531465df7501e81a5",
      "tree": "2eba56d47ba9ba8be3ec3b11d74d477ac96ee641",
      "parents": [
        "3fbc4f3845ae899867ad69af409492043c5a2b57",
        "0eb223496c3dee6bd0a33ea4fa664fb92ef557cc"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon Nov 20 19:34:15 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 20 19:34:15 2017 +0000"
      },
      "message": "Merge \"Implement Cpu Freq Section\""
    },
    {
      "commit": "8bb58ed00e568e60b29e3d2aeb86833340341e68",
      "tree": "daa244ce0f2e00f1d262287d158ae5517f564eff",
      "parents": [
        "2610ad0556e49979d3bf88d51d89ef2065f5bbf3"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Nov 20 10:57:19 2017 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Nov 20 11:13:48 2017 -0800"
      },
      "message": "Use -Werror in frameworks/base\n\nBug: 66996870\nTest: build with WITH_TIDY\u003d1\nChange-Id: Ibfe36a62d9a91b7df813b42e18dafaa58dc8b60d\n"
    },
    {
      "commit": "29f69e8f0442f78dba468a15e290fe94729263a5",
      "tree": "34551761c4019377408c1a7964fabf92c4a3dc6a",
      "parents": [
        "28306600e6769ce708897d2a2c6b852228e2a9de"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Sun Nov 19 14:56:37 2017 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Mon Nov 20 11:13:19 2017 -0800"
      },
      "message": "Remove IStatsCallback aidl from master\n\nTest: statsd, statsd_test\n\nChange-Id: Idd0fb945b62f3a139a0db07f1014a3c4a4e2f5f8\n"
    },
    {
      "commit": "b92f1eed1b42193d861344851ab4ea2ab4c47860",
      "tree": "14d5ecb0575c746e1844066d71b6d442b1d38246",
      "parents": [
        "0afe0849656ebc854821fcf287577347f8123679",
        "9c98c05b6fd59ed5695a0d636780259905a416cd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 20 03:44:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 20 03:44:51 2017 +0000"
      },
      "message": "Merge \"2 updates to storing configs on disk\""
    },
    {
      "commit": "9c98c05b6fd59ed5695a0d636780259905a416cd",
      "tree": "f0ffb198d76bcff61c183483dae6d27943f6f31c",
      "parents": [
        "b3bd84d71dec39ed8af73724ad8504fe9e5d0cfb"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Sun Nov 19 14:33:56 2017 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Sun Nov 19 14:33:56 2017 -0800"
      },
      "message": "2 updates to storing configs on disk\n\n1. When an existing config is updated, remove the outdated config from\ndisk to stop accumulating configs.\n2. Check disk to remove configs to make sure we delete lingering files\nthat does not live on memory.\n\nTest: statsd, statsd_test, manual\nChange-Id: Iedce4b6eb99a3d36bb5e1d1ccc0d88c84859e8f5\n"
    },
    {
      "commit": "0afe0849656ebc854821fcf287577347f8123679",
      "tree": "13c04c65d80b754351af9332c0745e39986249b2",
      "parents": [
        "e6f7ed873c47f402500500e17eb2530914453483",
        "cfed20bce8a66bde6ad0d74a44fc0a2764b2886d"
      ],
      "author": {
        "name": "Stefan Lafon",
        "email": "stlafon@google.com",
        "time": "Sun Nov 19 05:04:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Nov 19 05:04:25 2017 +0000"
      },
      "message": "Merge \"Update statsd_config.proto.\""
    },
    {
      "commit": "e6f7ed873c47f402500500e17eb2530914453483",
      "tree": "c46b88e7906a45f5e9631576a5374e1e780b48d5",
      "parents": [
        "43699661dd43337939b6c682659b7e5beb0d6709",
        "ae6a83a1cd729376fda3a849714b529f9666f4cb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Nov 19 04:58:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Nov 19 04:58:53 2017 +0000"
      },
      "message": "Merge \"Fix a memory leak in LogEvent\""
    },
    {
      "commit": "8d9989bb376f3937d9c8fef07c9cc65ef78cbcae",
      "tree": "68e318840a296207746f8e2d5c43ebf04d76fa01",
      "parents": [
        "ae6a83a1cd729376fda3a849714b529f9666f4cb"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Sat Nov 18 18:54:50 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Sat Nov 18 19:26:07 2017 -0800"
      },
      "message": "The first step towards adding a guardrail.\n\nAdded a malloc debug cmd to find memory leak and where\nthe most heap allocations are with backtrace.\n\nMore info: malloc_debug/README.md\n\nThe util class is borrowed from audio server.\n\nUsage:\n\nadb shell stop\nadb shell setprop libc.debug.malloc.program statsd\nadb shell setprop libc.debug.malloc.options backtrace\nadb shell start\nadb shell cmd stats meminfo\n\nAlso,\n\nadb shell dumpsys meminfo [statsd_pid]\n\nalso gives you the overall summary of the memory usage.\n\nTest: manual\n\nChange-Id: I4eb4167466a748ea0c3d9fd39e45d9900bc00fc2\n"
    },
    {
      "commit": "ae6a83a1cd729376fda3a849714b529f9666f4cb",
      "tree": "e1e81736e5899197076575f5cdcdb8e7ebc23ea2",
      "parents": [
        "fe945d189a6b0206b95fbb76155835e0743d487a"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Sat Nov 18 18:56:52 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Sat Nov 18 18:56:52 2017 -0800"
      },
      "message": "Fix a memory leak in LogEvent\n\nMy previous understanding of the liblog api was wrong. Luckily it\nis caught in time. Also added a memory profiling tool in another CL.\n\nTest: statsd_test\n      adb shell dumpsys meminfo\n      adb shell cmd stats meminfo\n\nChange-Id: I742af2a38e52e35edf0d4c77ccc35ede7019a73b\n"
    },
    {
      "commit": "cfed20bce8a66bde6ad0d74a44fc0a2764b2886d",
      "tree": "852ac6731a3dd9134f83bf2d657ec655dd753ebb",
      "parents": [
        "0f02aeb66c1d97be773f105ac78c9c6e606e935c"
      ],
      "author": {
        "name": "Stefan Lafon",
        "email": "stlafon@google.com",
        "time": "Sat Nov 18 09:26:53 2017 -0800"
      },
      "committer": {
        "name": "Stefan Lafon",
        "email": "stlafon@google.com",
        "time": "Sat Nov 18 15:58:10 2017 -0800"
      },
      "message": "Update statsd_config.proto.\n\nTest: Ran statsd tests.\n\nChange-Id: I3a83bdfb38be82d70ca547825152370df8bca9cc\n"
    },
    {
      "commit": "43699661dd43337939b6c682659b7e5beb0d6709",
      "tree": "33acfe665b89bc457da5723cffc2b1872eed44b1",
      "parents": [
        "744988cdce7c37d1814d28fa46105ae322c26ba1",
        "30b6a20c99d043e36d41851d80250bfdf2810556"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 18 23:46:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 18 23:46:35 2017 +0000"
      },
      "message": "Merge \"Don\u0027t just clear mPastBuckets when onDumpReport is called.\""
    },
    {
      "commit": "30b6a20c99d043e36d41851d80250bfdf2810556",
      "tree": "16144ad22bbf8ca200a4944ff07e76fa85790525",
      "parents": [
        "fe945d189a6b0206b95fbb76155835e0743d487a"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Sat Nov 18 14:14:38 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Sat Nov 18 14:14:38 2017 -0800"
      },
      "message": "Don\u0027t just clear mPastBuckets when onDumpReport is called.\n\nThis needs to be done properly. Left a TODO.\n\nTest: statsd_test\nChange-Id: I8537f0a870ab82039e0822c69096784403ee1651\n"
    },
    {
      "commit": "744988cdce7c37d1814d28fa46105ae322c26ba1",
      "tree": "0beb85718f0d17b3bfee6c800bd28a5d4cd9aee0",
      "parents": [
        "fe945d189a6b0206b95fbb76155835e0743d487a",
        "ff2632829f3da884797b00a812c6eec24183f7b6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 18 21:34:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 18 21:34:16 2017 +0000"
      },
      "message": "Merge \"Fix the unit test failure.\""
    },
    {
      "commit": "ff2632829f3da884797b00a812c6eec24183f7b6",
      "tree": "50715280c86c463936f11bd0b7e48c96d0138b1c",
      "parents": [
        "4aa167736b2e680f5a297844ce6b8bd6f8603f9f"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Sat Nov 18 12:03:42 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Sat Nov 18 12:03:42 2017 -0800"
      },
      "message": "Fix the unit test failure.\n\nTest: statsd_test\nChange-Id: I7ab57d4eb8789523a2b435413fd35057602cc988\n"
    },
    {
      "commit": "fe945d189a6b0206b95fbb76155835e0743d487a",
      "tree": "35dca2341d24ad9473383c0c0424cdba86997c75",
      "parents": [
        "834e4084bbb6ec37ec6555a8aa8622d2bd5ce30c",
        "4d889e635d1def2a0475c509ef6f471d9371fcf0"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Sat Nov 18 18:39:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 18 18:39:16 2017 +0000"
      },
      "message": "Merge \"Resolve segfault when running send-broadcast command while statscompanion service is not connected\""
    },
    {
      "commit": "3f9278b7da6b5d8dde2b20e2c7f03900585c46ba",
      "tree": "8b4748f2cfb3606b0cf466b477fe327748da095d",
      "parents": [
        "f16340fce62d90fa054ececcb0e90e277cbffbda",
        "75f0a4d3941813c8b3f1a4361531202fa741e0bf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 18 03:50:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 18 03:50:01 2017 +0000"
      },
      "message": "Merge \"Use ProtoOutputStream\u0027s bytesWritten to properly estimate the size of EventMetricsData on memory\""
    },
    {
      "commit": "75f0a4d3941813c8b3f1a4361531202fa741e0bf",
      "tree": "7346193099d17bfeb4bc56019061a855c3a2933e",
      "parents": [
        "b3bd84d71dec39ed8af73724ad8504fe9e5d0cfb"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Fri Nov 17 17:20:45 2017 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Fri Nov 17 17:48:36 2017 -0800"
      },
      "message": "Use ProtoOutputStream\u0027s bytesWritten to properly estimate the size of\nEventMetricsData on memory\n\nTest: statsd, statsd_test\nChange-Id: I6fc90c5d9303fe6cab582afb03c480969a6dc5a5\n"
    },
    {
      "commit": "4aa167736b2e680f5a297844ce6b8bd6f8603f9f",
      "tree": "cd1b5e7f85fcdf72da4653ce2bb51f20c71122dc",
      "parents": [
        "b3bd84d71dec39ed8af73724ad8504fe9e5d0cfb",
        "0ea19901ef78de19437c08bbcbb7af6663ad6f4b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 18 01:42:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 18 01:42:24 2017 +0000"
      },
      "message": "Merge \"One more feature in DurationMetric -- nesting on top of Or and Max\""
    },
    {
      "commit": "4d889e635d1def2a0475c509ef6f471d9371fcf0",
      "tree": "7144659ef2b33fd3df1059907bd2bfd0a9f815f4",
      "parents": [
        "b3bd84d71dec39ed8af73724ad8504fe9e5d0cfb"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Fri Nov 17 15:44:48 2017 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Fri Nov 17 17:36:07 2017 -0800"
      },
      "message": "Resolve segfault when running send-broadcast command while\nstatscompanion service is not connected\n\nTest: statsd, statsd_test\n\nChange-Id: Ie98de1884f8d852c31c14db146d3da44cfc5aa8b\n"
    },
    {
      "commit": "fe7a60e9ae193e3b7abe75412381be079f4ae390",
      "tree": "04e5e9dd8a8d2f6d63f1c1cd245f88106643b228",
      "parents": [
        "3b50381a137e34b97760b5956e010ae843cbae49",
        "1d7b0cd6b54e3b3ec8efdffd47b40cdd54c4e8d7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 18 00:48:34 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 18 00:48:34 2017 +0000"
      },
      "message": "Merge \"Support StatsD sending broadcasts.\""
    },
    {
      "commit": "aedbfdfa4812ee16e24c6e7e07d97684b91f046a",
      "tree": "4af2194399493dabce24afab74a9007b29e1742e",
      "parents": [
        "24c992479799c8330f6b837d504bac7970310947",
        "3fca5ba3a7cb4a5090b0c9cd6c4710836afd9c3e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 17 23:06:50 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 17 23:06:50 2017 +0000"
      },
      "message": "Merge \"Fix incorrect adb shell cmd help command for pull-source\""
    },
    {
      "commit": "1d7b0cd6b54e3b3ec8efdffd47b40cdd54c4e8d7",
      "tree": "8bb111077bb65a183ae0ce0740c42e380981b4f6",
      "parents": [
        "24c992479799c8330f6b837d504bac7970310947"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Nov 15 14:20:04 2017 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Fri Nov 17 14:57:50 2017 -0800"
      },
      "message": "Support StatsD sending broadcasts.\n\nStatsD will send a broadcast when we\u0027re 90% of the way to our\nallocated memory limit for the configuration. If the memory usage\ngoes over the limit, we just lose all the data for this config.\n\nAlso modifies the adb shell commands to facilitate debugging of the\nbroadcasts.\n\nTest: Manually tested on marlin-eng with custom gmscore code.\n\nChange-Id: I517a15bd4c959aa221802f84a51f13141a725102\n"
    },
    {
      "commit": "e8f0660c0bd178677551ffdb5612215523cc9d5d",
      "tree": "eaf4863f6877a124861570f519f5f87e8e74cca1",
      "parents": [
        "164d43002f3bb2618dd96bcf144a505aed6b0b84",
        "80235403d2a80eee1c23dbe856d18194b1b93843"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 17 22:16:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 17 22:16:22 2017 +0000"
      },
      "message": "Merge \"statsd: parse the new format of stats log\""
    },
    {
      "commit": "3fca5ba3a7cb4a5090b0c9cd6c4710836afd9c3e",
      "tree": "1e1fd136596a83e0e6d1118762629110fd1a7ac0",
      "parents": [
        "87c58f95e9485e24660f645216ac7d8b924741e7"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Fri Nov 17 13:22:52 2017 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Fri Nov 17 13:22:52 2017 -0800"
      },
      "message": "Fix incorrect adb shell cmd help command for pull-source\n\nTest: statsd should pass, but it\u0027s not required as it\u0027s just an update\nin help instruction.\n\nChange-Id: I36f4e4794ae8066abdeaac98db5e679a3bcf0a06\n"
    },
    {
      "commit": "13378dd01acefebfb872d0cdff123b98253ee43d",
      "tree": "f522cca6866e7a2b3eae96b83148efef668b6fef",
      "parents": [
        "3674b32218dc3bd38a30be2737b9f62234c90852",
        "7ee94150ab5ad435d8dd4e9715a5547e16863292"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 17 20:14:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 17 20:14:01 2017 +0000"
      },
      "message": "Merge \"fix the permission check crash in statsd.\""
    },
    {
      "commit": "80235403d2a80eee1c23dbe856d18194b1b93843",
      "tree": "5014d19013bcaabe27d990e8e2e11dc5e6e4724f",
      "parents": [
        "efe5f129ad2f0c8dbdbadf68a219169e423413cf"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Nov 13 20:42:25 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Nov 17 11:53:15 2017 -0800"
      },
      "message": "statsd: parse the new format of stats log\n\n+ Changed how we construct LogEvent, now it\u0027s based on the context from log_msg\n  without making a copy of the list.\n\n+ All stats logs now have the same event tag, the atom id is the first elem in the log.\n\nTest: statsd_test\nChange-Id: I4419380f2ee1c2b2155d427b9f2adb78883b337f\n"
    },
    {
      "commit": "7ee94150ab5ad435d8dd4e9715a5547e16863292",
      "tree": "0ab3052ab3e95d823ec5c76db1a460b8f76fd8cf",
      "parents": [
        "902cb0b68bdd889063d90de52b24f2aea8990ae2"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Nov 17 09:44:40 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Nov 17 10:20:30 2017 -0800"
      },
      "message": "fix the permission check crash in statsd.\n\nAnd change the fake config uid to be 1000, so we can dump it from the test app.\n\nTest: manual\nChange-Id: I99b4cd28b351add8cf3e315e1dccf8cf511a0be8\n"
    },
    {
      "commit": "04dacb54cc8de84603d6dccdb3bfa1e2614832e8",
      "tree": "4d7347cdcdc1643e94e794e972dc2f196d3eeefe",
      "parents": [
        "cd8d0c07e76df20b891c41c45aac7ec646a21b63",
        "87d983cf6f609cf3467d05d92bba30329953fbdb"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Fri Nov 17 02:16:07 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 17 02:16:07 2017 +0000"
      },
      "message": "Merge \"Write statsd configuration to disk and add cmd to clear it\""
    },
    {
      "commit": "87d983cf6f609cf3467d05d92bba30329953fbdb",
      "tree": "4ba4e72413ae7e66c680864c304bf9ed87475cbb",
      "parents": [
        "fb9ec66ef025fed04b12c90a0c279a8b0296cfb8"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Tue Nov 14 21:31:43 2017 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Thu Nov 16 16:25:34 2017 -0800"
      },
      "message": "Write statsd configuration to disk and add cmd to clear it\n\nTest: statsd, statsd_test\nChange-Id: Iba37a7f295256d24969185bdde6cbf28f9b89a55\n"
    },
    {
      "commit": "5b968dbe29d7d5cda5de650f6b2e410eb80c14c9",
      "tree": "8f8c03ff60df7a37fb1e04bf25f501c210060ad2",
      "parents": [
        "fb9ec66ef025fed04b12c90a0c279a8b0296cfb8",
        "d41c4220d06875cea2d19a7991c3227bd56ea611"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 16 21:28:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 16 21:28:10 2017 +0000"
      },
      "message": "Merge \"Fix some bugs found in statsd\""
    },
    {
      "commit": "a81a0ffa52ca31f31589e2a94d3c5ade1c3bd5c2",
      "tree": "e19eb6d44689e133b45f034dcd918e9631bed1bb",
      "parents": [
        "d41c4220d06875cea2d19a7991c3227bd56ea611"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Nov 16 10:10:30 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Nov 16 10:15:46 2017 -0800"
      },
      "message": "Sync proto from google3\n\nDefault initial value for Condition changed to false\n\nTest: statsd_test\n\nChange-Id: I73ad80d873f2ff1264d18b1eec6d882ad0e9bb6f\n"
    },
    {
      "commit": "62462871b50480acc19ada846787ec7c3ee462bb",
      "tree": "37c5a48de7b28f99fc0d303281d211f76ca7fd51",
      "parents": [
        "a73e165c2ea0bb6499b89dd335d6ef878c92b8e9",
        "de4ca10e10463393bd5b4b11c30b795fc3998059"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 16 18:01:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 16 18:01:22 2017 +0000"
      },
      "message": "Merge \"Update statsd proto comment\""
    },
    {
      "commit": "d41c4220d06875cea2d19a7991c3227bd56ea611",
      "tree": "b91a1a2185fd64a379e52be2e5352f542903e800",
      "parents": [
        "a786f00f069c33aab5171f615cb3e35ed1755ede"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Nov 15 19:26:14 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Nov 16 09:25:53 2017 -0800"
      },
      "message": "Fix some bugs found in statsd\n\n+ in log matcher, condition tracker and duration metric\n\nTest: added unit test\nChange-Id: Id633e856ba5453842487321d7ddc0c64100e4bb8\n"
    },
    {
      "commit": "de4ca10e10463393bd5b4b11c30b795fc3998059",
      "tree": "d035e3f163c7bf4b2a07a809be40fa3f8ee207bc",
      "parents": [
        "1610206b04c16bccd0847b7af1faa2ece523850e"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Wed Nov 15 22:57:24 2017 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Wed Nov 15 22:58:01 2017 -0800"
      },
      "message": "Update statsd proto comment\n\nTest: not needed.\nChange-Id: I2f0c16f2e305624128eaca4658d5ccb9f2a20fe5\n"
    },
    {
      "commit": "42753a512e2719ca078851a62760a19890641e6f",
      "tree": "f61e3976b22ab4c4345765da7e0efaa3e184bd75",
      "parents": [
        "3c31b2f32a78a7944332e1d126df9917d04409af",
        "0feae94babf0518ac28b7c529b4e16762d48e6de"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 16 03:34:55 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 16 03:34:55 2017 +0000"
      },
      "message": "Merge \"Fix AOSP copyright years in statsd\""
    },
    {
      "commit": "0ea19901ef78de19437c08bbcbb7af6663ad6f4b",
      "tree": "4f3c4879af8ba0b7e96509a163a5c0780e7565c8",
      "parents": [
        "a786f00f069c33aab5171f615cb3e35ed1755ede"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Nov 15 15:44:45 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Nov 15 16:45:59 2017 -0800"
      },
      "message": "One more feature in DurationMetric -- nesting on top of Or and Max\n\n+ Added counters to count the starts.\n\nTest: added some unit test in statsd_test.\n\nTODO: ADD MORE UNIT TESTS\n\nChange-Id: I3575e921a4abab27c4ea50fffde19cc1d4564030\n"
    },
    {
      "commit": "0feae94babf0518ac28b7c529b4e16762d48e6de",
      "tree": "e262d1057ceb7b7477430c21fbd3e84b0c8d6c74",
      "parents": [
        "1610206b04c16bccd0847b7af1faa2ece523850e"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Wed Nov 15 14:38:48 2017 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Wed Nov 15 14:39:22 2017 -0800"
      },
      "message": "Fix AOSP copyright years in statsd\n\nTest: no test needed\n\nChange-Id: I230b7d51eb00dafb16913d038475c3ac14b44096\n"
    },
    {
      "commit": "5c925ad04ffe959e8fb00253b20daf1f7128b8d6",
      "tree": "baeb11a79bc4c17186bd148b180a863231a69c15",
      "parents": [
        "a786f00f069c33aab5171f615cb3e35ed1755ede"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Nov 15 14:15:46 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Nov 15 14:22:37 2017 -0800"
      },
      "message": "Sync the DurationMetric proto from google3.\n\nThere are other statsd_config changes for Anomaly detection, but requires\ncode change. So will sync later.\n\nTest: statsd_test\nChange-Id: I927e99bd0763cb949fe339993b232f53a4eefe7a\n"
    },
    {
      "commit": "c0c6ee6b6fb6dc8c818c7886756bb8de7a0042a5",
      "tree": "30853b2ba51f39df90a9b15459e64935a5004d43",
      "parents": [
        "4226a0c1541e442ead322d3b0aa5b6823b649ef9",
        "49a5838becae92fa3a07a488f4d1a814aa9cc570"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 15 18:47:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 15 18:47:27 2017 +0000"
      },
      "message": "Merge changes from topic \"f2fs_gc\"\n\n* changes:\n  Run gc + fstrim for idle maintenance\n  Add \u0027idle-maint\u0027 command for use from shell\n  Add entry points to invoke idle maintenance from vold\n"
    },
    {
      "commit": "b1d9bd9c5d28413432cd071aa814ad9482764572",
      "tree": "851770cf7bb98e058afec9a3426a3962d7cc1c8f",
      "parents": [
        "a834309bd5c8ae276ae7b5e3aedffd47bb517b10",
        "0dfa752e67116940f04a988ca4a264f7140dd81f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 15 03:05:18 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 15 03:05:18 2017 +0000"
      },
      "message": "Merge \"Implement System Properties Section\""
    },
    {
      "commit": "52cd1c5717b6f3761307f26d433902f2ee6406f6",
      "tree": "b33e014f4bc97d10dcb7ea4fd74642862ced1ee3",
      "parents": [
        "a85b9919f5aa284347ea8d0bac4d1ec3242c208c"
      ],
      "author": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Tue Oct 17 15:51:50 2017 -0700"
      },
      "committer": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Tue Nov 14 15:02:53 2017 -0800"
      },
      "message": "Add \u0027idle-maint\u0027 command for use from shell\n\nTest: adb shell sm idle-maint [run|abort]\nBug: 67776637\nChange-Id: I5f20adc45aad29dc9267a70bf3eea6a1fa490688\n"
    },
    {
      "commit": "c783baca1e3062652dab2d7258df61dfa6a30d7b",
      "tree": "9fb945b6a5f256920cda0e4c8357b19ba3ed1d6d",
      "parents": [
        "ea0baebfb93806f9b1c5d90186b354872a82257c",
        "ae2df01aae2ee7076af875c04e991140f685f733"
      ],
      "author": {
        "name": "Stefan Lafon",
        "email": "stlafon@google.com",
        "time": "Tue Nov 14 22:03:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 14 22:03:54 2017 +0000"
      },
      "message": "Merge \"Rename \"stats_events\" as \"atom\".\""
    },
    {
      "commit": "0eb223496c3dee6bd0a33ea4fa664fb92ef557cc",
      "tree": "bfaa7a6ae9751f1ff5acc34253b0cc5d7773d6c3",
      "parents": [
        "a379f499c8e27d2c18b7089feb18c7f0a44e0433"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon Nov 06 17:17:27 2017 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Tue Nov 14 13:22:25 2017 -0800"
      },
      "message": "Implement Cpu Freq Section\n\nWhen poll from sysfs, revents return POLLERR by default, handles\nthis edge case in this cl.\n\nBug: 68774444\nTest: unit tested + on device tests\nChange-Id: I23540299c026d3e7676497f56690e9f8646a47bd\n"
    },
    {
      "commit": "220871a697290529278ed16db508eda8e12f3fc7",
      "tree": "bc13101b63c6fe39a9d92706ecb7ded7f98f5a9c",
      "parents": [
        "802f191b2b84a1b1b82c7f6f3268846084b35dfb",
        "98e12851336b7db16e583f9afac63ecc97465980"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Nov 14 12:31:11 2017 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Nov 14 12:31:11 2017 -0800"
      },
      "message": "Merge commit \u002798e12851336b7db16e583f9afac63ecc97465980\u0027 from\noc-mr1-dev-plus-aosp-without-vendor into stage-aosp-master.\n\nChange-Id: Ia7b8da4a00d215160e4a4fa40f6044208d1297b7\nMerged-In: I19846d2a3ee27aecbae2367a74ee49082eea154d\n"
    },
    {
      "commit": "341775bfefdbe24821dd80a4d5ea4b976f1bf051",
      "tree": "921c14a5e5e3608b2122c44a921e45a87556f766",
      "parents": [
        "fa361abde85b2bf6225f89d16e0cd9c2ca7a8a18",
        "adaf8b344e312853530e276ceff05783133ecf17"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 14 20:25:09 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 14 20:25:09 2017 +0000"
      },
      "message": "Merge \"Adds client API for interacting with statsd.\""
    },
    {
      "commit": "ae2df01aae2ee7076af875c04e991140f685f733",
      "tree": "1c7d34d21d60444344cb8c1b153863702d9ae029",
      "parents": [
        "0253dd036468246b95161ae6ec1a87c7751d00a3"
      ],
      "author": {
        "name": "Stefan Lafon",
        "email": "stlafon@google.com",
        "time": "Tue Nov 14 09:17:21 2017 -0800"
      },
      "committer": {
        "name": "Stefan Lafon",
        "email": "stlafon@google.com",
        "time": "Tue Nov 14 11:56:05 2017 -0800"
      },
      "message": "Rename \"stats_events\" as \"atom\".\n\nAlso make atom WakelockStateChanged use the \"Type\" enum instead of int32.\n\nTest: Unittests are passing. Statsd is working.\n\nChange-Id: I0909e2d97297f78996a81366d66aae62d5bf5ce1\n"
    },
    {
      "commit": "0dfa752e67116940f04a988ca4a264f7140dd81f",
      "tree": "3aa662e1d9da3143bc0c3a05bf5711d346c58601",
      "parents": [
        "a379f499c8e27d2c18b7089feb18c7f0a44e0433"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon Nov 06 17:43:47 2017 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Tue Nov 14 10:54:24 2017 -0800"
      },
      "message": "Implement System Properties Section\n\nBug: 68774852\nTest: unit tested and on device tests\nChange-Id: I0d4aadf8d4203fe56e35bbfb77e5c532116fd27e\n"
    },
    {
      "commit": "d1815dc7b82f99259f6c41cfacc44972b867ef2d",
      "tree": "cfb6b2470b7c1197219ed3240d1e81d89057b2e3",
      "parents": [
        "0fbd9d163b22cc629047b5974be3bde265a51762"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Mon Nov 13 21:43:15 2017 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Mon Nov 13 22:09:08 2017 -0800"
      },
      "message": "Sync statsd to the public proto changes:\n1/ use string id/name for all metrics/configs/matchers.\n2/ move alerts out of metric proto.\n\nTest: unit test passed.\nChange-Id: I08269f47be30f83f6dbadf873e7d62213449932b\n"
    },
    {
      "commit": "adaf8b344e312853530e276ceff05783133ecf17",
      "tree": "e650b5b1f29ba71f5eedbf16d57e4dad809fd1e6",
      "parents": [
        "2dd2cbcb12a21adccd3c349590a01e7ed009f679"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Fri Nov 03 15:42:08 2017 -0700"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Mon Nov 13 19:37:12 2017 -0800"
      },
      "message": "Adds client API for interacting with statsd.\n\nThis API will primarily be used by GmsCore to send updated configs.\nAlso, sending a config will implicitly notify the StatsD that this\nclient wants to know when it should request data for this config.\n\nWe send a broadcast so that all interested subscribers can know if\ndata needs to be pulled.\n\nTest: Manually tested that sending broadcast works via new adb\ncommand added in StatsService.\n\nChange-Id: I23cdd1df706036e14b32c3d01af30c3d4af819fa\n"
    },
    {
      "commit": "24cc5a807032cc49bdb60656116c8d0ce49d1e7d",
      "tree": "cf3eaf2a959a93805de2b6b8886a410e30a8a055",
      "parents": [
        "542bdb141084c4ac330cdcaf7a6919b671b3040c",
        "6736c893a73c567d3794d88ae0d17abab34b7a6f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 14 01:11:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 14 01:11:54 2017 +0000"
      },
      "message": "Merge \"Unit tests for ValueMetricProducer StatsPullerManager is refactored so that we can mock it. It may need more refactor pass to make is safer for longer runs.\""
    },
    {
      "commit": "6736c893a73c567d3794d88ae0d17abab34b7a6f",
      "tree": "710c2511205845b3406590524cbc7d7e18c25b00",
      "parents": [
        "e33bc3b967aef6f10df82e5b374e4b701ce6ca69"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Thu Nov 09 10:50:09 2017 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Nov 13 13:42:17 2017 -0800"
      },
      "message": "Unit tests for ValueMetricProducer\nStatsPullerManager is refactored so that we can mock it.\nIt may need more refactor pass to make is safer for longer runs.\n\nTest: unit test\nChange-Id: Ief0c99710e4d06e1454678f8b749c9599467d114\n"
    },
    {
      "commit": "da3a2955cc91a7f960b3fdf4e95f57a512f1b7c6",
      "tree": "29c002dc36c81df6006d2976ce7cd5feb6f6f64b",
      "parents": [
        "630fc40aadf3f83671607bd6a651770958c16dfa"
      ],
      "author": {
        "name": "Mike Ma",
        "email": "yanmin@google.com",
        "time": "Mon Nov 13 12:06:45 2017 -0800"
      },
      "committer": {
        "name": "Mike Ma",
        "email": "yanmin@google.com",
        "time": "Mon Nov 13 12:16:22 2017 -0800"
      },
      "message": "Add instrumentation data to host proto lib\n\nAdd instrumentation data proto to host proto lib and add a few comment\nto am instrument.\nTest: no test needed\n\nChange-Id: Ibbb0394dcf0ad27b53d5c97104456798863ce82c\n"
    },
    {
      "commit": "e33bc3b967aef6f10df82e5b374e4b701ce6ca69",
      "tree": "b3b97072166e54b3e4666a5c4d2de1780b293404",
      "parents": [
        "7f8def9d5a71f4ccb1ecdd90637f7b3c162dcab8"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Nov 06 17:56:44 2017 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Sat Nov 11 15:40:06 2017 -0800"
      },
      "message": "add CpuTimePerUidPuller and CpuTimePerUidFreqPuller\nNote: these pullers return monotonically increasing numbers.\nThe uids could include isolated uids that needs further translation in\nstatsd.\n\nTest: manually tested on device and check print outs\nChange-Id: I7097aec0417a3ac567b9b86149b757ac27cd58d8\n"
    },
    {
      "commit": "7f8def9d5a71f4ccb1ecdd90637f7b3c162dcab8",
      "tree": "c81c11d3db40892e16ec003968cec0b4282985ee",
      "parents": [
        "2888533e3cc288402aa0480e8aa56136b54f1c25"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Fri Nov 03 09:33:15 2017 -0700"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Sat Nov 11 10:49:56 2017 -0800"
      },
      "message": "pull cpu time per freq\nalso adjust lock for ValueMetricProducer.cpp\n\nTest: manual test\nChange-Id: Ib96e3011d7bcf44ac92346d880196c425623a86f\n"
    },
    {
      "commit": "2888533e3cc288402aa0480e8aa56136b54f1c25",
      "tree": "dedbde5950ce1d493bde1043f4dee4d6fccec909",
      "parents": [
        "4ae65c7a630c0a4c0684d4f9c35f74f5a637b35b",
        "e2f7f79d023f0b3ba2fee374492dde61f525ece6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 11 03:44:38 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 11 03:44:38 2017 +0000"
      },
      "message": "Merge \"Implement Cpu Info Section\""
    },
    {
      "commit": "e2f7f79d023f0b3ba2fee374492dde61f525ece6",
      "tree": "8ea7efe3b552f1cb23c2f4c2ef379be6fb02f19b",
      "parents": [
        "9a753af26b2ce27c10ad215aa70cf1bcd44d7915"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Nov 01 17:08:27 2017 -0700"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Nov 10 17:34:07 2017 -0800"
      },
      "message": "Implement Cpu Info Section\n\nSupport carriage return in Read class, and add a new way to parse lines\nwhich is not able to split purly by delimiters\n\nBug: 65642861\nTest: unit test and on device test\nChange-Id: Ib82dd4e458bb7d2fa33462b23fbe11b828325916\n"
    },
    {
      "commit": "87244f1f550937dd006e6e07052b932d906f3a5d",
      "tree": "80aa6bca27836b19ca75964a3d09257185ca750e",
      "parents": [
        "01528f4f2b2d7ccec4b4c4c4ab73584880103975",
        "4e6364ac1cc272098c57c3e166a3518d1495a48e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 11 01:03:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 11 01:03:59 2017 +0000"
      },
      "message": "Merge \"make statsd less chatty.\""
    },
    {
      "commit": "01528f4f2b2d7ccec4b4c4c4ab73584880103975",
      "tree": "9ec372f2ef3838c828daca35c36cdd62be838722",
      "parents": [
        "88a1719fda177269152e5480d51eb6d85d06ad75",
        "b0378b093d9b937fe9a731a601d670d50f263078"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 11 00:46:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 11 00:46:54 2017 +0000"
      },
      "message": "Merge \"1. Add FIELD_COUNT_REPEATED bit masks to repeated fields that were previously missing 2. Resolve segfault when serializing proto into vector of uint8_t 3. Add a local byte size variable for EventMetric data as we cannot call size() of ProtoOutputStream before we finish writing. 4. Replace hardcoded conversion of second to nano second with NS_PER_SEC\""
    },
    {
      "commit": "4e6364ac1cc272098c57c3e166a3518d1495a48e",
      "tree": "226b3cc2cea2ead79ed20728864e958c23675c6e",
      "parents": [
        "8c07286d2c5b1a2cce6f1ce3fe48fe19cacdf61a"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Nov 10 14:35:58 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Nov 10 14:35:58 2017 -0800"
      },
      "message": "make statsd less chatty.\n\nTest: builds and adb logcat\nChange-Id: I06ee9cce1844b21ed3960bbaf76262fca3357bf4\n"
    },
    {
      "commit": "885738ffbe7a10fa8fe195730b110aaaf7ad4a59",
      "tree": "f6ae635ec8a017e4db04167d511950276ac902f7",
      "parents": [
        "917bdb1b8fbb7df6f60ee5ff03c94af1c0827964",
        "254102d858942393482589b8f1e6102b33797b58"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 10 19:14:43 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 10 19:14:43 2017 +0000"
      },
      "message": "Merge \"Remove unnecessary parameter WriteStringToFile\""
    },
    {
      "commit": "b0378b093d9b937fe9a731a601d670d50f263078",
      "tree": "e7ee98225da2cb458992f393fc4eaea5f475b416",
      "parents": [
        "c8e3c7c816a4d9de42579df11d9302e117070ea1"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Thu Nov 09 20:36:25 2017 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Fri Nov 10 11:09:20 2017 -0800"
      },
      "message": "1. Add FIELD_COUNT_REPEATED bit masks to repeated fields that were previously missing\n2. Resolve segfault when serializing proto into vector of uint8_t\n3. Add a local byte size variable for EventMetric data as we cannot call\nsize() of ProtoOutputStream before we finish writing.\n4. Replace hardcoded conversion of second to nano second with NS_PER_SEC\n\nTest: statsd, statsd_test\n\nChange-Id: I47a2ce2b05e6191c18596489682118edcb41e945\n"
    },
    {
      "commit": "51f29ce476ad4546b005b19645155a21c588aa51",
      "tree": "cfeb8788121c2a60cb728d7403c64cf11587124a",
      "parents": [
        "3f6d0dca224cc118d5526842cf9ac3a86eb4dbc3",
        "967b2051fe17fa3c38d248a556f8c4ff21a573a7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 10 18:32:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 10 18:32:57 2017 +0000"
      },
      "message": "Merge \"Make SimpleCondition satisfactorily complicated.\""
    },
    {
      "commit": "254102d858942393482589b8f1e6102b33797b58",
      "tree": "406b3d2a0049994d9b496770f7860536f48b566c",
      "parents": [
        "5bb66e73ec479a34ee58f06feccf1d7db4677f3e"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Thu Nov 09 21:45:29 2017 -0800"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Fri Nov 10 17:32:25 2017 +0000"
      },
      "message": "Remove unnecessary parameter WriteStringToFile\n\nBy default, WriteStringToFile will not follow link, the \u0027false\u0027\nparameter is unnecessary.\n\nTest: build\nChange-Id: Ied6dcbf2a85533108dc2f6d71a4571b44684e800\n"
    },
    {
      "commit": "967b2051fe17fa3c38d248a556f8c4ff21a573a7",
      "tree": "1027428b210f6a8e0926ad702d3345aa3eb81bdd",
      "parents": [
        "6ef8030a8e18cf7b25726dca9077727a031054cc"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Nov 07 16:36:43 2017 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Nov 10 08:49:05 2017 -0800"
      },
      "message": "Make SimpleCondition satisfactorily complicated.\n\n+ Support nested counting\n+ Support StopAll\n+ Added default_condition to SimpleCondition config\n+ Some refactoring/clean up\n+ Added unit tests\n\nTest: Added unit tests, statsd_test\nChange-Id: I6564ac2e068ce6810e8090c0818064c625c7847a\n"
    },
    {
      "commit": "570d4db0c9d46458b3bda68e5a44a8d1ea38cbe4",
      "tree": "9172d094b27a7a6926c9abe3f0c0b43b1480fe68",
      "parents": [
        "fd1c507884d9aa7d43e58de5814136dba16da6a9",
        "21582961d779ea7190bd35a07805b9e41b43b05c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 09 23:53:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 09 23:53:58 2017 +0000"
      },
      "message": "Merge \"Tracks isolated uid\u0027s and their parent uid.\""
    },
    {
      "commit": "78c059ffe28ad6e0b23471ffa7e77fc2b444f191",
      "tree": "99819388d71b5cff5f3e7b140f2051054fc51686",
      "parents": [
        "968dbf4c7fe98bf64e6c671164767c3d3cd814bd",
        "17adac9cf3e03ad95372eb8657b26909d0414ac0"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Thu Nov 09 23:37:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 09 23:37:20 2017 +0000"
      },
      "message": "Merge \"Finish migrating to use ProtoOutputStream. This change will take the outputs of each MetricProducer\u0027s and merge the results into ConfigMetricsReport which holds ConfigKey, repeated field of StatsLogReport, and UidMap. The data will be represented as vector\u003cuint8_t\u003e which can be passed down to binder call for clients to pick up. Also, all unnecessary dependencies to stats_log proto have been removed.\""
    },
    {
      "commit": "21582961d779ea7190bd35a07805b9e41b43b05c",
      "tree": "16d577de6703e5f2f87957a5e753734be0e48240",
      "parents": [
        "69dde2ed8d626fecfef32790e324398dcb7f3cad"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Nov 01 17:32:46 2017 -0700"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Thu Nov 09 13:39:43 2017 -0800"
      },
      "message": "Tracks isolated uid\u0027s and their parent uid.\n\nWe push events from BatteryStatsImpl if an isolated uid is added or\nremoved and we have a custom rule in statsd to use these events to\nupdate our uid map. In the future, we need to use this map to\nconvert all incoming uid\u0027s to their host uid.\n\nTest: Added unit-test to UidMap_test.\nChange-Id: I33c0451eb2c886161f22dd12e479d216fad0940d\n"
    },
    {
      "commit": "3eba62186592382ed3d97cecca0c547487e4b2e4",
      "tree": "c605ab8d08344c48441169e759c92e6d78a968d9",
      "parents": [
        "45a9600e68f3e356c5dbc34d7e9812a4e99279e7"
      ],
      "author": {
        "name": "Yang Lu",
        "email": "yanglu@google.com",
        "time": "Wed Oct 25 19:54:45 2017 -0700"
      },
      "committer": {
        "name": "Yangster",
        "email": "yanglu@google.com",
        "time": "Thu Nov 09 12:32:13 2017 -0800"
      },
      "message": "Update CountAnomalyTracker to handle slicing.\n\nRe-added CountAnomalyTracker (under the name DiscreteAnomalyDetector).\nIt is now able to handle dimensions.\n\nTest: unit test passed.\n\nChange-Id: I133fcf6db99b9e305756f7ee5891c25f0f276348\n"
    },
    {
      "commit": "17adac9cf3e03ad95372eb8657b26909d0414ac0",
      "tree": "e670fb86237e80349ac694dd19042323a3d90236",
      "parents": [
        "4a3d844742fca89c142ee24a469830d435d64689"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Wed Nov 08 23:16:29 2017 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Wed Nov 08 23:40:28 2017 -0800"
      },
      "message": "Finish migrating to use ProtoOutputStream. This change will take the\noutputs of each MetricProducer\u0027s and merge the results into\nConfigMetricsReport which holds ConfigKey, repeated field of\nStatsLogReport, and UidMap. The data will be represented as\nvector\u003cuint8_t\u003e which can be passed down to binder call for clients to\npick up. Also, all unnecessary dependencies to stats_log proto have been\nremoved.\n\nTest: statsd, statsd_test\nChange-Id: Ia69137cbc8613644a892e6be1e87b4858bd39fe3\n"
    },
    {
      "commit": "0a6e480d991764214169277621d364f77c93f4db",
      "tree": "75eef90db18ce30d0c5e43686f9b773fdcc8d531",
      "parents": [
        "0fcb56c9916a8edec6e5d8ff444f7cdb675d4a9f",
        "2b0f88678b2877a8e9f83cea60f097322b078367"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 08 03:26:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 08 03:26:53 2017 +0000"
      },
      "message": "Merge \"Migrate all remaining MetricProducers to use ProtoOutputStream\""
    },
    {
      "commit": "2b0f88678b2877a8e9f83cea60f097322b078367",
      "tree": "69ed35bb538be0a426ffd9e1c4c2dbafd896585d",
      "parents": [
        "6c5c1d73461880b55c8f08f3b38197c290524560"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Mon Nov 06 14:27:31 2017 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Tue Nov 07 17:33:37 2017 -0800"
      },
      "message": "Migrate all remaining MetricProducers to use ProtoOutputStream\n\nTest: statsd, statsd_test\nChange-Id: I1087e1c1ffb372ca288dfc575cb7a372b11ce8c5\n"
    }
  ],
  "next": "508cce3f4a6b1644bd2bff72e52d44466cdd2da6"
}
