)]}'
{
  "log": [
    {
      "commit": "641e29df46c94015abea0ad2ffc202dd8e8325d0",
      "tree": "2bc97ed8868b23246aef01cbf814f941869aa947",
      "parents": [
        "4307efc89eccc773a50036e83ccec734b23bdb95",
        "34ea1103a0faa0e01df0e2b0ac1ce98e7ec3e3f1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 19:08:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 19:08:41 2018 +0000"
      },
      "message": "Merge \"Extend gauge metric to support memory metric.\""
    },
    {
      "commit": "357b63b1727177e53f6ef896887b04eb7d71d274",
      "tree": "72171f4aa8e76e22d5bf60bb10762a517a32c262",
      "parents": [
        "a14bbf5517f09c07d720e3c66ca8682b907f85d8",
        "7ba8fc357e44ee3bb8e614c202852a1c46a9d4a8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 17:37:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 17:37:14 2018 +0000"
      },
      "message": "Merge \"Cpu usage optimization: 1/ Avoid unnecessary field/dimension proto construction. 2/ use unordered_map for slicing. 3/ Use dimension fields to compare dimension keys.\""
    },
    {
      "commit": "34ea1103a0faa0e01df0e2b0ac1ce98e7ec3e3f1",
      "tree": "19a58dee26e2fdf029ba45e8a3b218511b509f23",
      "parents": [
        "752d7ca14c668df04a25e1565d5058ba7dc9ffe8"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Mon Jan 29 12:40:55 2018 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Tue Jan 30 09:14:54 2018 -0800"
      },
      "message": "Extend gauge metric to support memory metric.\n\nTest: statd unit test passed.\n\nTest: statsd unit test passed\nChange-Id: I2e3f26563678ae77d44afe168454b6d1ea449f3a\n"
    },
    {
      "commit": "e8030e4eef02b669f3f05f9d6b9d7462a4d398d4",
      "tree": "214a318de1d5571ec34e5ecc73576e52e335b670",
      "parents": [
        "a1bdce38381fea495ad19c652c639abadc6700ee",
        "c521bb33acf9312192785469f56ae9ad718fb602"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 05:27:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 05:27:27 2018 +0000"
      },
      "message": "Merge \"Load bootanimation from /product partition\""
    },
    {
      "commit": "c521bb33acf9312192785469f56ae9ad718fb602",
      "tree": "325b8348f9a571344cd278d5b14c9ab9f0f44d9e",
      "parents": [
        "8a972cf38091f36e98a522743216998c4915d24e"
      ],
      "author": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Tue Jan 30 11:52:47 2018 +0900"
      },
      "committer": {
        "name": "Jaekyun Seok",
        "email": "jaekyun@google.com",
        "time": "Tue Jan 30 12:03:42 2018 +0900"
      },
      "message": "Load bootanimation from /product partition\n\nBug: 72667033\nTest: tested loading /product/media/bootanimation.zip after moving it\nfrom from /system/media to /product/media on sailfish\n\nChange-Id: I10612dd77da7c2c67b02b00b7f0eb2b28e49cc98\n"
    },
    {
      "commit": "9b97976e7619f79b37e5e1ab62274862eccefea5",
      "tree": "60c1bee66d646409a7af3d82ac314915f08c433b",
      "parents": [
        "7e0769261f323b284781f23431bd9bb9984af98a"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Mon Jan 29 16:23:13 2018 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Mon Jan 29 16:23:13 2018 -0800"
      },
      "message": "Re-enable statsd from droidfooders by default\n\nTest: the team-wide bug bash to capture any issues in advance but did\nnot find any statsd crash\n\nChange-Id: I253e0067a710c37bf10667e3a8dbde99d0b289c7\n"
    },
    {
      "commit": "9023599fc3dd7694afa92ec00bd5b09500b9cfeb",
      "tree": "8caf426b2d8b67d98ac1f3e16835594d6eb728f7",
      "parents": [
        "1e5acd3d920f7fb0bff8070dc9f191782941e3de"
      ],
      "author": {
        "name": "Rajeev Kumar",
        "email": "rajekumar@google.com",
        "time": "Mon Jan 29 11:06:48 2018 -0800"
      },
      "committer": {
        "name": "Rajeev Kumar",
        "email": "rajekumar@google.com",
        "time": "Mon Jan 29 11:06:48 2018 -0800"
      },
      "message": "Split usage_in_bytes into following separate fields:\n\n  1. rss_in_bytes\n  2. cache_in_bytes\n  3. swap_in_bytes\n\nSee: go/android-p-memory-metrics\n\nBug: 72177881\nTest: Manual\nChange-Id: I8d88aa24aac500b9e5cb4e40b9af9dab3af7113b\n"
    },
    {
      "commit": "ba6644d6be68886665c841ef3309beb9667a633e",
      "tree": "a081f1e21243eccd109a3438a8f44c32f86a1434",
      "parents": [
        "bd2f2e991f433a5d3332ef65f07f3b1bf3cd0796",
        "884c8c130fde0d02ada1316f7c27f0f55e7e48b9"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Jan 29 18:32:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 29 18:32:45 2018 +0000"
      },
      "message": "Merge \"Add more statsd\u0027s debugging info to dumpsys.\""
    },
    {
      "commit": "206593e49cacee6135bcad12720a453aaf32e4b6",
      "tree": "d3428f39ad1b8fda02300b9ddbaeda16cb1c5c71",
      "parents": [
        "d22876fdea5da02ae347e80c851dce94cbc278fd",
        "29b9a7d1f4168d888ee2f4a0ff3882523f655e6b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Jan 28 16:11:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jan 28 16:11:37 2018 +0000"
      },
      "message": "Merge \"Add freeze period support in SystemUpdatePolicy\""
    },
    {
      "commit": "8a9fa058a4a9f0c99371bdb322dbb5e56f26dd91",
      "tree": "00810d64cfa2036775ede5373e712b7bb482fb4d",
      "parents": [
        "18ffea713046bef8938ad741666d9f5a6d165cc6"
      ],
      "author": {
        "name": "Rajeev Kumar",
        "email": "rajekumar@google.com",
        "time": "Thu Jan 25 19:03:09 2018 -0800"
      },
      "committer": {
        "name": "Rajeev Kumar",
        "email": "rajekumar@google.com",
        "time": "Fri Jan 26 23:08:47 2018 -0800"
      },
      "message": "Refine atom definitions for memory metrics.\n\nDefines following atoms:\n -- AppStartMemoryStateChanged\n -- ProcessMemoryState\n -- LmkStateChanged\n -- LmkProcessKilled\n\nThese changes are based on the discussion with WestWorld team.\nSee: go/android-p-memory-metrics\nBug: 72177881\nTest: Manual\n\nChange-Id: I884f23f3d7627440af5faa25f9479ba0d8763bec\n"
    },
    {
      "commit": "18ffea713046bef8938ad741666d9f5a6d165cc6",
      "tree": "6946d31ed0f2f3229e8e4942a3b50643741084fc",
      "parents": [
        "951bf1cea29c81dc087674f696640235980544d4",
        "9d7720b5b49e9649541e56f792f5f658a4e5ae2e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 27 04:57:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 27 04:57:19 2018 +0000"
      },
      "message": "Merge \"Add Bluetooth atoms\""
    },
    {
      "commit": "ce01bd906e6153ff5458fee7a7e855d73855ac0a",
      "tree": "0e307bb36995cc8017ef6cea4e4ea7d744386690",
      "parents": [
        "92deeffdece67646e307073a4b710c96c43e9d2c",
        "8bdae8d682f922384de6076f3fa6db0f3d710b26"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 27 01:18:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 27 01:18:20 2018 +0000"
      },
      "message": "Merge \"Proto enums for DeviceIdleMode\""
    },
    {
      "commit": "7ba8fc357e44ee3bb8e614c202852a1c46a9d4a8",
      "tree": "6d5a63f0653abb15820b5340e6594e9de5cb1e1e",
      "parents": [
        "94713885ae90fc925ac9be38311269c8527f490e"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Wed Jan 24 16:16:46 2018 -0800"
      },
      "committer": {
        "name": "Yang Lu",
        "email": "yanglu@google.com",
        "time": "Fri Jan 26 23:17:02 2018 +0000"
      },
      "message": "Cpu usage optimization:\n1/ Avoid unnecessary field/dimension proto construction.\n2/ use unordered_map for slicing.\n3/ Use dimension fields to compare dimension keys.\n\nTest: all statsd tests passed.\nChange-Id: I2f74f78589b7f6ecd0803a2ead822b8d0399f334\n"
    },
    {
      "commit": "9d7720b5b49e9649541e56f792f5f658a4e5ae2e",
      "tree": "b1b442703e8caaaac8142aa45f6c50ff8522e0da",
      "parents": [
        "94713885ae90fc925ac9be38311269c8527f490e"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Wed Jan 24 10:34:48 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Fri Jan 26 23:15:51 2018 +0000"
      },
      "message": "Add Bluetooth atoms\n\n+ refactor pullers in StatsCompanionService to be more modular\n+ rename CpuSuspendTime and CpuIdleTime to SystemElapsedRealtime\n  and SystemUptime\n\nTest: will add cts test\nChange-Id: I463103fb271511cef4e0f877c20fd167fe8b173b\n"
    },
    {
      "commit": "29b9a7d1f4168d888ee2f4a0ff3882523f655e6b",
      "tree": "ba28f86d10bcffe2f68ee659c0dee4ac2bc406c7",
      "parents": [
        "906ee677c071118126c3a849d973be7bb94be95f"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Thu Jan 11 09:24:02 2018 +0000"
      },
      "committer": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Fri Jan 26 23:07:59 2018 +0000"
      },
      "message": "Add freeze period support in SystemUpdatePolicy\n\nFreeze period is defined as a pair of calendar dates (recurring annually)\nduring which the system should block any incoming system updates, including\nsecurity patches. They are set on top of existing system udpate policy\ntypes (automatic, windowed, postpone) such that outside the freeze\nperiods existing policy semantics will still apply. They are created to\nallow admin to keep their device fleet from any destabilizing changes during\ncritical period of the year, for example during Christmas sales period.\n\nDevice Owner can set several freeze periods, although to prevent the device\nfrom not receiving OTAs indefinitely, each single freeze period is\nrestricted to be at most 90 days, and adjacent freeze periods need to be at\nleast 60 days apart. To properly enforce these restrictions, any freeze\nperiods the device previously experienced is tracked by DevicePolicyManager\nand are validated against any new policy. This is to deal with corner cases\nsuch as the admin repeatedly set a short but overlapping freeze period on a\nrolling basis, hence bypassing the 90-day freeze period restriction.\n\nTest: runtest -c com.android.server.devicepolicy.SystemUpdatePolicyTest frameworks-services\nBug: 64813061\nChange-Id: I2864192797dc194edd9c183b881da6cfe3fdba5e\n"
    },
    {
      "commit": "d2e162890e08fe8e062ab5d23cc122a7b88186dd",
      "tree": "38275804085f546cf8bd3ab58080c30a81b1ba17",
      "parents": [
        "c110e17bef09da1e03cc2e99eaa8d5b3269a8c20",
        "80d11a00ebb4cf0d478d7855cbb75194e8e9f444"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 26 22:12:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 26 22:12:26 2018 +0000"
      },
      "message": "Merge \"Proto enum reference for App Transitions\""
    },
    {
      "commit": "884c8c130fde0d02ada1316f7c27f0f55e7e48b9",
      "tree": "8d6e118e7cc90ed46f40f461e1190a59dfaf7066",
      "parents": [
        "f8fc7235d46b605c845552c23912b0f7a9009013"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Jan 26 10:36:25 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Jan 26 12:03:58 2018 -0800"
      },
      "message": "Add more statsd\u0027s debugging info to dumpsys.\n\n+ Bugreport will use the non-verbose mode\n+ Reuse the log_msg object in LogReader\n+ Add logd errors to StatsdStats\n\nBug: 72383073\n\nTest: manual + statsd_test\n\nChange-Id: Id5a8b103074d034f5ece3c9831c740d44a5df9cd\n"
    },
    {
      "commit": "8bdae8d682f922384de6076f3fa6db0f3d710b26",
      "tree": "0a8ffc699d131990f19cdf4d1359786f528e526b",
      "parents": [
        "83f489b583570523257e2b1c838ae73ad0829c4c"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Jan 16 11:24:30 2018 -0800"
      },
      "committer": {
        "name": "Adam Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Jan 26 17:26:20 2018 +0000"
      },
      "message": "Proto enums for DeviceIdleMode\n\nCreated an enums.proto that contains the device idle modes,\nwhich is referenced by batterystats.\n\nNote that, currently, batterystats is the origin of these\nconstants in the java code, and I have kept that as is.\nThus, batterystats references the enum.\nNevertheless, because the actual control of device idle\nmode is DeviceIdleController.java, where these constants\nwill likely one day be moved, I have put the constants\nin server/enums.proto (since DeviceIdleController is\nin server, not os like BatteryStats).\n\nBug: 69478930\nTest: cts-tradefed run cts-dev -m CtsStatsdHostTestCases -t android.cts.statsd.HostAtomTests#testDeviceIdleModeStateChangedAtom\nChange-Id: I6e66801ae8256aab423067f9a4b852a194564a8d\n"
    },
    {
      "commit": "b0db811fe914fb3a8ea1902bc22ee4c41b555ed3",
      "tree": "326e372cce483ae39aa1ad25dab745b37374c16a",
      "parents": [
        "9add1b8c1b8bbad2c0dea88733d95d078d125271",
        "1a1b0464cb43903ed540f4c43fd423b16e398c04"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 26 05:02:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 26 05:02:35 2018 +0000"
      },
      "message": "Merge \"Statsd and frameworks reference proto enums\""
    },
    {
      "commit": "80d11a00ebb4cf0d478d7855cbb75194e8e9f444",
      "tree": "42b6c52b06473f19655dcd502e6592a963626f04",
      "parents": [
        "a70703175c1f5bcdfea44e5f665c51457a88b126"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Jan 16 10:46:35 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Thu Jan 25 17:12:31 2018 -0800"
      },
      "message": "Proto enum reference for App Transitions\n\nApp transitions, from ActivityManagerInternal, are now referenced via a\nproto enum. This is also referenced by statsd\u0027s atoms.proto.\n\nBug: 69478930\nTest: still compiles\nChange-Id: Ifb5cb0120d4cd4e2464ce3b5a7455842cb55259c\n"
    },
    {
      "commit": "f9bcdc06f6c2d56eaa4bbbfe3b27466cea692b65",
      "tree": "d483b26b07f7cd810efad0c7454a9d585c7ac2dc",
      "parents": [
        "ada267a31fb56289430e472add0e8aa9dc7673bb",
        "b8344dc72fde9386cdecbb1aa8a47f1e8e430111"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 26 01:02:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 26 01:02:23 2018 +0000"
      },
      "message": "Merge \"Fix command line tool to set the right privacy enum.\""
    },
    {
      "commit": "a024f21852d0d301cd3ad1874ae5cab6f3a48ce0",
      "tree": "f91309de4fe7590a7a981e6ce0a5a839c33f0da2",
      "parents": [
        "91f00a507101caa605649fcbaf886d9d335403ec",
        "50d23f1ed57003a389c010e3445bbc33b7c74a83"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 26 00:01:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 26 00:01:27 2018 +0000"
      },
      "message": "Merge \"Fix a bug of reading files with \"_\" separator\""
    },
    {
      "commit": "1a1b0464cb43903ed540f4c43fd423b16e398c04",
      "tree": "38d855525144f027e91afcfc2e0827bd531499ce",
      "parents": [
        "a70703175c1f5bcdfea44e5f665c51457a88b126"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Jan 12 11:47:03 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Thu Jan 25 15:47:57 2018 -0800"
      },
      "message": "Statsd and frameworks reference proto enums\n\nFor frameworks constants that don\u0027t have intrinsic meaning (i.e. their actual\nvalue and order don\u0027t matter), so that it is unlikely that their values\nwill be changed:\nThis cl introduces proto enums representing some constants found in\nthe Android codebase, and connects the two.\n\nBy using the Proto enum as the source-of-truth, it means that Java and\nproto can be kept in sync. Otherwise, when the Java frameworks code\nchanges, it silently breaks the protos from working properly, since the enums\nare wrong. By having the Java code reference the proto enums, it ensures\nthat everything is in sync. The values of the constants are unchanged.\nBut future changes to these constants will need to be done in the proto\nfile, which the Java file merely references.\n\nThe protos are necessary for incidentd and statsd and, in the future,\npossibly dumpsys. In this way, the logging mechanism is much less likely\nto get broken when new constants are added, and we can be ensured that\nthe logging accurately reflects the underlying codebase.\n\nBug: 69478930\nTest: cts-tradefed run cts-dev -m CtsStatsdHostTestCases\nTest: cts-tradefed run cts-dev -m CtsIncidentHostTestCases\nChange-Id: If79032c34b2799db1e3e70cb47b1312fd72092b9\n"
    },
    {
      "commit": "753a0d2df663f4f0a06845b4845610b3373f6fe1",
      "tree": "e4e9a8dc87de179e2d1b443686a4c49465c43019",
      "parents": [
        "854211d15bb3ae42af156b5fa997d3a1792a79fb",
        "b90bf1e2acc2927d4e257b763cf2406715270430"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 25 22:59:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 22:59:32 2018 +0000"
      },
      "message": "Merge \"Update documentation for the clock parameters\""
    },
    {
      "commit": "b93b7971994d507052ba33c54a775f33062ee5d0",
      "tree": "35219e62ad5a93ee06ddd2b9830372b52a243aa8",
      "parents": [
        "5694b0a6002e331b78184e2c964865633e6319ac",
        "db026a28aa56d725ef40e9f785d7582f6cd774b8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 25 22:21:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 22:21:30 2018 +0000"
      },
      "message": "Merge \"Update to the ActivityManager proto\""
    },
    {
      "commit": "50d23f1ed57003a389c010e3445bbc33b7c74a83",
      "tree": "8e0d50621dc01df65735745ac69aa1d66cdfced7",
      "parents": [
        "877553e360462c739a600f426263794a11838022"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Thu Jan 25 13:52:20 2018 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Thu Jan 25 13:52:20 2018 -0800"
      },
      "message": "Fix a bug of reading files with \"_\" separator\n\nTest: manual testing\nChange-Id: Ibb19336122684712b3eb73088553acd9438b7611\n"
    },
    {
      "commit": "181c835f818df011cf829763fffff9f9c1d3e35d",
      "tree": "8bee48c421ff3338a53b2488ef452440162973b8",
      "parents": [
        "0edd6454927e2289ac900807d0c374e02a5d3a4b"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Thu Jan 25 10:55:08 2018 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Thu Jan 25 10:55:57 2018 -0800"
      },
      "message": "Disable statsd that was accidentally enabled in ag/3480570\n\nTest: manual test\n\nChange-Id: I57176203a1ca7d0b5639119642335e3e9a1e4e4c\n"
    },
    {
      "commit": "53d179d246e4af795546982ca422042fdfd40fc2",
      "tree": "ad32895dd875158ab84f1ac0c9f5c37372c4de2f",
      "parents": [
        "bb8a385fab19974ab5a01cef18bf7c89dbf6ae9d",
        "a74556061ab5257c39a0ba752410da8fbdadd175"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 25 12:43:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 12:43:34 2018 +0000"
      },
      "message": "Merge \"Fix Perfetto.cpp to silence SELinux warnings\""
    },
    {
      "commit": "d0c260ff418f0d1c9d1536eb1420373391116f88",
      "tree": "6ceb125448e666328f1f3bf0723e15943ccfe060",
      "parents": [
        "d07289d08de5139e822259ffc089bb37155704cf",
        "98a28501fe8ab53a490ec353c8a1f74f2e329cc5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 25 06:47:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 06:47:29 2018 +0000"
      },
      "message": "Merge \"Adding guardrails on writing to disk from statsd\""
    },
    {
      "commit": "73a331f52490f648d0347cd8856c1196d418a600",
      "tree": "8bf4bbc2edb5f4f815cf5c1174eab8f1a2f29f1f",
      "parents": [
        "6834ec8e54978d076fcf9c414d52f6cb173c24fc",
        "c697797d43b6932fc7cca1c8d7d850c3fb4d1452"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 25 06:23:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 06:23:36 2018 +0000"
      },
      "message": "Merge \"Statsd broadcast subscriber\""
    },
    {
      "commit": "540aa206e2a7e4a4897b4b92a8cca9e0ddb78d24",
      "tree": "fc9f92790cd99886e86d4dc9d85a9e545443f27b",
      "parents": [
        "be72463b262428c0e93ea27ebe6342da0b721225",
        "62ac686168337c223f8a63b2ceba2e5c756929a1"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Thu Jan 25 04:32:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 04:32:50 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"Enable init.rc for statsd to start statsd by default in boot time\"\"\"\""
    },
    {
      "commit": "b90bf1e2acc2927d4e257b763cf2406715270430",
      "tree": "10b87b9c80275a4c9f3c2ce6b252f3d33de83613",
      "parents": [
        "aecd38757b64e838069bc7fda3bfd400064f0639"
      ],
      "author": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Wed Jan 24 19:31:23 2018 -0800"
      },
      "committer": {
        "name": "Damien Bargiacchi",
        "email": "drb@google.com",
        "time": "Wed Jan 24 19:31:23 2018 -0800"
      },
      "message": "Update documentation for the clock parameters\n\nChange-Id: I1de48f7c8ba0f417ee7bd302bfbaed1d45877739\n"
    },
    {
      "commit": "b8344dc72fde9386cdecbb1aa8a47f1e8e430111",
      "tree": "6b28079105fb9b0ff8bd194c66e6a1eb03ac46af",
      "parents": [
        "c04c265dd57e0fe2c880e529cc5cfc8164180009"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Jan 24 17:33:35 2018 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Jan 24 18:25:33 2018 -0800"
      },
      "message": "Fix command line tool to set the right privacy enum.\n\nTest: manual\nChange-Id: I3f0845ea32b46f1a028f8b6d3d4180a90a47beb5\n"
    },
    {
      "commit": "b5f12bbd2f30f93803dbb266c45d30cc44df3d36",
      "tree": "926eac9dc34d6279cc14b43d317eeb1de6b55dfb",
      "parents": [
        "07c15cb88a8b1092754fb64d729699ee9449dc21",
        "48d75189ccbfc06f24f315ff5b8a1a42cf8207c5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 25 02:04:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 02:04:11 2018 +0000"
      },
      "message": "Merge \"Add statsd microbenchmark and fix a crash in LogEvent\""
    },
    {
      "commit": "62ac686168337c223f8a63b2ceba2e5c756929a1",
      "tree": "e5dcd5f4e54fe6bdc636b9760991d2090a728c59",
      "parents": [
        "b00cce84d9ddba04a3ebd5ed45457c1e154be535"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Thu Jan 25 02:00:35 2018 +0000"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Thu Jan 25 02:00:35 2018 +0000"
      },
      "message": "Revert \"Revert \"Revert \"Enable init.rc for statsd to start statsd by default in boot time\"\"\"\n\nThis reverts commit b00cce84d9ddba04a3ebd5ed45457c1e154be535.\n\nReason for revert: b/72459151 \n\nChange-Id: I71593b4b323d69edb548dcb1bb0e1f4eb7cddbc9\n"
    },
    {
      "commit": "b2b547454bb7bf7258e40929f7fe8721c858be79",
      "tree": "f9f98c29f1acdd8fbdc1bfacb50f6be3f61f8e4b",
      "parents": [
        "e891dbaa4fe9180dc044ec0139e6422254ff5597",
        "e5f82927ae60fdff909e030434354a6ba164f333"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Wed Jan 24 23:00:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 23:00:14 2018 +0000"
      },
      "message": "Merge \"Fix adb shell cmd config remove command when no (uid, id) pair is specified.\""
    },
    {
      "commit": "82c2173b678ebff8092ec2a77eaaf4c987e109bd",
      "tree": "bd5664a61563247084f4dc80f69b7630dad1f3c6",
      "parents": [
        "6d2b3517912086c55433bfa519189c79bc034c70",
        "cfc311d2f098de441bb2eeb7d27ea158773e281b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 24 22:31:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 22:31:24 2018 +0000"
      },
      "message": "Merge \"Statsd always includes snapshot of uid map.\""
    },
    {
      "commit": "c697797d43b6932fc7cca1c8d7d850c3fb4d1452",
      "tree": "43037d273145230adad3e720cd798d729180a236",
      "parents": [
        "96c73a3c40316e5aa36ea59d40e901d2dd505021"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Jan 16 16:55:05 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Wed Jan 24 13:08:19 2018 -0800"
      },
      "message": "Statsd broadcast subscriber\n\nAllows a uid that uploads a statsd config to additionally\nregister a BroadcastSubscriber with statsd. If statsd\ndetects an anomaly (according to the config\u0027s Alert),\nstatsd can inform a BroadcastSubscriber provided in the config.\nThe config uses a subscriberId (just an int) to identify the\nBroadcastSubscriber. It then uses StatsManager.setBroadcastSubscriber\nto associate that subscriberId with a given PendingIntent.\nThen, when the anomaly is detected, statsd sends a broadcast\nusing that PendingIntent, alerting whoever was specified by\nthe config/setBroadcastSubscriber.\n\nBug: 70356901\nTest: cts-tradefed run cts-dev -m CtsStatsdHostTestCases -t android.cts.statsd.alert.BroadcastSubscriberTests\nChange-Id: I4d9ea9a6c8a85e61fadfd99c1513c55abbadd5e9\n"
    },
    {
      "commit": "db026a28aa56d725ef40e9f785d7582f6cd774b8",
      "tree": "7934f256f0c46f4967d4fe94d0f655d649bf2f1b",
      "parents": [
        "00be19795d68bb5a670b749972b6690e1fa3ce5f"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Wed Jan 10 19:01:56 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Wed Jan 24 12:07:35 2018 -0800"
      },
      "message": "Update to the ActivityManager proto\n\nRename the activitymanager.proto to enums.proto, in accordance with the\nnew convention on naming these protos.\nAlso, changes processStateAmToProto from simplying multiplying by 100 to\na switch statement, to be more future-proof.\nAlso, changes the values of the proto\u0027s process state, to reflect that\nthe values will not be kept in sync with ActivityManager.\n\nNote that this cl was originally started in ag/3008434, and partially fulfilled in ag/3114337.\n\nBug: 69478930\nTest: run cts-dev -m CtsStatsdHostTestCases -t android.cts.statsd.ProcStateAtomTests\nChange-Id: I2b3bf2552b879c74d8985338df5a57c01850cb91\n"
    },
    {
      "commit": "a74556061ab5257c39a0ba752410da8fbdadd175",
      "tree": "7ef8f47a1e60ef8dc6bffd50a630dc80cde54bdb",
      "parents": [
        "32f891dae34a123a0ae444a291262332040c7754"
      ],
      "author": {
        "name": "Primiano Tucci",
        "email": "primiano@google.com",
        "time": "Wed Jan 24 19:53:52 2018 +0000"
      },
      "committer": {
        "name": "Primiano Tucci",
        "email": "primiano@google.com",
        "time": "Wed Jan 24 19:56:44 2018 +0000"
      },
      "message": "Fix Perfetto.cpp to silence SELinux warnings\n\nTurns out that statsd leaves some file descriptors opened\nwithout the O_CLOEXEC flag. This CL mass-closes file descriptors\nup to a realistic number of FDs. This is to avoid SELinux complaining\nabout perfetto accessing these files from the statsd domain.\n\nWith this change perfetto works with statsd without disabling SELinux.\nRelevant SELinux CL:\nhttps://android-review.googlesource.com/c/platform/system/sepolicy/+/598774\n\nChange-Id: I745d621937fbc9b20a4c733948cd0dd24dd6e8b2\n"
    },
    {
      "commit": "3f9a1a54268f5b191f785b7a2461c1fbc6910b26",
      "tree": "7c60131baf6f91d0dea52ab6529632dc4b36ba64",
      "parents": [
        "4e2b139b82089e0f1a4ca79f4a06431d9a2ebfbb",
        "861795096296ebbe6d5b147519ad52a43b4b957c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 24 19:51:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 19:51:22 2018 +0000"
      },
      "message": "Merge \"Fix deadlock for write-disk cmd.\""
    },
    {
      "commit": "98a28501fe8ab53a490ec353c8a1f74f2e329cc5",
      "tree": "b880fe8165c186f5779be0755cc9c1142a937d33",
      "parents": [
        "f74e56af8c1ea49a87a73cdbc70a6b6ec540e22f"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Thu Jan 18 17:00:14 2018 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Wed Jan 24 10:33:54 2018 -0800"
      },
      "message": "Adding guardrails on writing to disk from statsd\n\n- Limit total number of files to 1000\n- Limit total size of files to 5MB\n- Remove idle files to be deleted after 30 days\n\nBug: 69854160\nTest: manual testing, statsd, statsd_test\nChange-Id: I33148a3b7ca11d413ec2495d5c0659f1ba4485c3\n"
    },
    {
      "commit": "adb4fc73b0d9be2ad5f76c9e7248440625b80b75",
      "tree": "964bf06ab633b33c24e14147e636e87f03969381",
      "parents": [
        "2cef59dc7b027aa499d06882e7f864c1fc971329",
        "68985805f26f5da6cc6b63934cb00fbff2741ca9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 24 18:18:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 18:18:24 2018 +0000"
      },
      "message": "Merge \"Avoid processing log event when there is no uid field.\""
    },
    {
      "commit": "48d75189ccbfc06f24f315ff5b8a1a42cf8207c5",
      "tree": "70fc10c82350e82e30b18c982c5d1c1b5dca4752",
      "parents": [
        "3bddc867f3c3db34bf9f60e5e1cb0d9a4e8836ab"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Jan 23 09:40:48 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Jan 24 10:02:36 2018 -0800"
      },
      "message": "Add statsd microbenchmark and fix a crash in LogEvent\n\n+ We should benchmark the core functions in the critical path.\n     1. LogEvent parsing\n     2. Log matching\n     3. Event processing in various metrics\n     ....\n\n+ Using microbenchmark, we can quantify the optimization we do in the future.\n\n    ---------------------------------------------------------\n    Benchmark                  Time           CPU Iterations\n    ---------------------------------------------------------\n    BM_LogEventCreation       4772 ns       4705 ns     145738\n\nTest: make -j64 statsd_benchmark\n\nBug: 72242322\n\nChange-Id: I43aa704ffdc7cd21e02ef9038eff66ca7022dbfb\n"
    },
    {
      "commit": "1a68be0f0defb679a246352c30921bb011f2d5cb",
      "tree": "27c1524aabf6c310995d70a74a7c833f6cfdae9b",
      "parents": [
        "60c9ef4c98c34d2ef8c28ef49c1fd5e2e6fee1eb",
        "27572b9a19b5f2ed8b8cc0e2a736892be6dfafc3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 24 16:49:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 16:49:15 2018 +0000"
      },
      "message": "Merge \"Simplify the memory metrics atoms.\""
    },
    {
      "commit": "60c9ef4c98c34d2ef8c28ef49c1fd5e2e6fee1eb",
      "tree": "711b62305b6cf2088fe9c20fac826ff3525d1a28",
      "parents": [
        "56afa3d5ee78c9085a46ea9f29beb97612612e00",
        "635b4b37210bd61b73aebf19298e38b8fb382e85"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 24 16:44:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 16:44:40 2018 +0000"
      },
      "message": "Merge \"Do not output empty metric reports.\""
    },
    {
      "commit": "d84a8d8cf4bf22cebb17e1e9b69e89d7283f4ea5",
      "tree": "5053087b98c74ded3bce4e558c65e724e12af947",
      "parents": [
        "c7904e1d055d64ce363b4623a6a1f0777fe848fa"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Jan 24 15:30:13 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Jan 24 15:30:13 2018 +0900"
      },
      "message": "Use stubs libs for android.test.base/runner/mock\n\nandroid.test.base/runner/mock libraries are shared libraries that are\nbuilt without SDK, but with framework interanl libraries (framework.jar,\netc). Apps or libs that are built with SDK (LOCAL_SDK_VERSION is set)\nshouldn\u0027t use them, but instead the stubs version of the test framework\nlibraries, which are built using SDK.\n\nThis is because, the build system does not allow a module built with SDK\nto depend on another module built without SDK. This has been\nexceptionally allowed with warnings, but will soon be errors.\n\nIn order to prevent the expected build breakage, direct reference to the\nshared libraries are all changed to the stubs libraries.\n\nNote: no one has been using these shared libs statically. So, it is\nguaranteed that they won\u0027t encounter a problem due to missing\n\u003cuses-library name\u003d\"android.test.runner\"/\u003e even after this change.\n\nBug: 69899800\nTest: m -j checkbuild\nChange-Id: Ib7e2bbecdc8c9327010aa772e820e9ae84e46518\n"
    },
    {
      "commit": "635b4b37210bd61b73aebf19298e38b8fb382e85",
      "tree": "088b9499c976249993f79d83b96a39169d270a3d",
      "parents": [
        "4ee9a3e9287a76fd83f1a3ed760ac6054d738976"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Tue Jan 23 20:17:35 2018 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Tue Jan 23 20:30:46 2018 -0800"
      },
      "message": "Do not output empty metric reports.\n\nTest: statsd unit test passed.\n\nChange-Id: I296edbe621eaea72ad2e1dfe656698302614c0f3\n"
    },
    {
      "commit": "a65f508748c2cc2d4750ec6583a742287272da04",
      "tree": "7a87654870164718a4338720ec9b33d8b5752217",
      "parents": [
        "59c31de1e5361b28624fe7fbe4191a3b97ad1cc8",
        "bbd056ac4ac206bea36e6e8b40bf40c4a2d44f25"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 24 03:13:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 03:13:12 2018 +0000"
      },
      "message": "Merge \"Fix the crash when parsing empty config.\""
    },
    {
      "commit": "cfc311d2f098de441bb2eeb7d27ea158773e281b",
      "tree": "3df06360fb7023ced8a9ee92d5a805408f560a51",
      "parents": [
        "70553693523fe3c770a34d634241465f9e6e3bf9"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Tue Jan 23 17:55:54 2018 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Tue Jan 23 18:04:03 2018 -0800"
      },
      "message": "Statsd always includes snapshot of uid map.\n\nStatsd will contain at least one snapshot of the uid map. The\nprevious design was not very robust in case a snapshot was missing.\n\nAlso fixes subtle bug with updating the isolated uid mapping since\nthis should always be kept up to date even if there are no metrics\nbeing used (since metrics may be added later after the isolated uid\nwas created).\n\nTest: Checked that unit-tests pass on marlin-eng.\nChange-Id: I99754ed9016d980564e409b0946a46b398fd12b7\n"
    },
    {
      "commit": "27572b9a19b5f2ed8b8cc0e2a736892be6dfafc3",
      "tree": "b9b030fd48c291372b747fbbfaf8a3838db4d0a5",
      "parents": [
        "592ae5cb9fcf0594dda3232e82280106e6df6f60"
      ],
      "author": {
        "name": "Rajeev Kumar",
        "email": "rajekumar@google.com",
        "time": "Tue Jan 23 16:12:51 2018 -0800"
      },
      "committer": {
        "name": "Rajeev Kumar",
        "email": "rajekumar@google.com",
        "time": "Tue Jan 23 17:39:08 2018 -0800"
      },
      "message": "Simplify the memory metrics atoms.\n\nImplement suggestions made in go/android-p-memory-metrics\n\nBug: 72177881\nChange-Id: I8260a7053620d143f16600a852d808a3dbbe56f2\n"
    },
    {
      "commit": "861795096296ebbe6d5b147519ad52a43b4b957c",
      "tree": "46e85a1a842a0a400736db8014c41637dd43bb29",
      "parents": [
        "ca74e23b023d4a7e78ccb4f49d2e71cb9517766d"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Tue Jan 23 15:47:15 2018 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Tue Jan 23 15:51:17 2018 -0800"
      },
      "message": "Fix deadlock for write-disk cmd.\n\nTest: manual tested.\nChange-Id: I6c1e1f10bbb3830c932b3d7b57df8d4960c13977\n"
    },
    {
      "commit": "e458afd334f38db82218fa8acdd5d4844c19e2da",
      "tree": "5fe11220b2601d430293f2d9f0068ec070807b6c",
      "parents": [
        "ba685389afa7802c0440e9f1e5bc66ffc5e9aaed",
        "974e56f141c31c596f89d2ed1725416245962a68"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Tue Jan 23 22:38:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 22:38:21 2018 +0000"
      },
      "message": "Merge \"Enable incidentd.rc also add dump and usage_stats permission to statsd so it bypass incidentd\u0027s permission check\""
    },
    {
      "commit": "7e004f96dd2c8d232f1ac54ab4dbd669c774d71c",
      "tree": "54cec61197c432e9d43e7fc669b93fdbfb148385",
      "parents": [
        "c5c4afac541466f33ce8c90b163366a3b21c0b6b",
        "4503e10b5997db95c3af60d89acbeb58fd39ae2f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 18:09:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 18:09:20 2018 +0000"
      },
      "message": "Merge \"Atom: WifiMulticastLockStateChanged\""
    },
    {
      "commit": "68985805f26f5da6cc6b63934cb00fbff2741ca9",
      "tree": "73239566cf18c18f34d58ac8d4a4cff8fc83a038",
      "parents": [
        "4953824b89bfbdd5a85a2a7182c0903d9283e1d1"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Sun Jan 21 10:05:09 2018 -0800"
      },
      "committer": {
        "name": "Yang Lu",
        "email": "yanglu@google.com",
        "time": "Tue Jan 23 16:43:07 2018 +0000"
      },
      "message": "Avoid processing log event when there is no uid field.\n\nTest: all statsd unit test passed\n\nChange-Id: Id434d86586950a485b30a244f3c030e8202c1c6d\n"
    },
    {
      "commit": "b84e8b1fcfb69c058c18b70bbfb76e37cd4e23cd",
      "tree": "4771850437748f189876fa164f7e3a883896e8f7",
      "parents": [
        "4953824b89bfbdd5a85a2a7182c0903d9283e1d1"
      ],
      "author": {
        "name": "Yangster",
        "email": "yanglu@google.com",
        "time": "Mon Jan 22 16:18:34 2018 -0800"
      },
      "committer": {
        "name": "Yang Lu",
        "email": "yanglu@google.com",
        "time": "Tue Jan 23 16:42:24 2018 +0000"
      },
      "message": "Sync statsd google3 protos to aosp.\n\nTest: statsd unit tests passed\nChange-Id: I66b05478b7c5b0f9fdd6386b2e2ba7c38a3f9b88\n"
    },
    {
      "commit": "bbd056ac4ac206bea36e6e8b40bf40c4a2d44f25",
      "tree": "6848813c5efe289ecaea32854b6a429c6086ea43",
      "parents": [
        "4953824b89bfbdd5a85a2a7182c0903d9283e1d1"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Mon Jan 22 13:37:02 2018 -0800"
      },
      "committer": {
        "name": "Yang Lu",
        "email": "yanglu@google.com",
        "time": "Tue Jan 23 16:41:52 2018 +0000"
      },
      "message": "Fix the crash when parsing empty config.\n\nTest: statsd test passed.\nChange-Id: Ice4bcb7368ba416a9ffe6e9c89129b307302980e\n"
    },
    {
      "commit": "4503e10b5997db95c3af60d89acbeb58fd39ae2f",
      "tree": "6b0135ab966dac7fb3c97c112284a430acf94ea5",
      "parents": [
        "ec8c24862ba662b0f6095956e4a12f8e7d643062"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Thu Jan 04 14:35:01 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Tue Jan 23 00:41:49 2018 -0800"
      },
      "message": "Atom: WifiMulticastLockStateChanged\n\nAdd WifiMulticastLockStateChanged to atoms.proto\nAdd log lines\n\nTest: CTS test in accompanying CL\nChange-Id: I9b4b861a2de5254c9b7f41c15ab0fbb76af4ff6e\n"
    },
    {
      "commit": "ec8c24862ba662b0f6095956e4a12f8e7d643062",
      "tree": "fe061b2f162898fca5a972603de3d444dc15632a",
      "parents": [
        "a92805d2cf6e18b56352b15b9ef7538741ed30f3",
        "2ee4371cb73cd23a8615593956de2e4f0cea4a98"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 07:46:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 07:46:23 2018 +0000"
      },
      "message": "Merge \"Handle return value 0 from android_logger_list_read\""
    },
    {
      "commit": "a92805d2cf6e18b56352b15b9ef7538741ed30f3",
      "tree": "b3507945876e8bda7b978c35d7b6b7f12c64e456",
      "parents": [
        "426deb4da726802eb27b2081337d5f9f4d9d50bb",
        "b00cce84d9ddba04a3ebd5ed45457c1e154be535"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 07:46:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 07:46:23 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Enable init.rc for statsd to start statsd by default in boot time\"\"\""
    },
    {
      "commit": "26466e44b704fb279af2247fafb86ac7bf0bdc3d",
      "tree": "5d866a13270296f8283aad9478465d97ab8be0e5",
      "parents": [
        "e2a345aadf574da86e056216074edb3b1ea028f8",
        "937d74294e0da3c656305ba0f9e56b2c01aebf0e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 06:03:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 06:03:21 2018 +0000"
      },
      "message": "Merge \"add system uptime and free disk space atoms and pullers\""
    },
    {
      "commit": "9683b889d93adc6458c8c0af6a9e804de5a0c98e",
      "tree": "4864dfabb21e691cf501d3f8f7bfa07e1f7235b6",
      "parents": [
        "1f62f7c72eaa6477950d6c0bf1bde562a68f6301",
        "52cacc6c1a10296f7516777f4d09b11024e68782"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 05:34:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 05:34:29 2018 +0000"
      },
      "message": "Merge \"add atom and logging for Picture-in-Picture feature\""
    },
    {
      "commit": "937d74294e0da3c656305ba0f9e56b2c01aebf0e",
      "tree": "25fd2a418cae45fad190c55a535b9c590fe4d687",
      "parents": [
        "0e5f9c8a4b327a818ead467f3f3df1ca1e4af1ab"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Wed Jan 10 16:37:53 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Jan 22 20:06:52 2018 -0800"
      },
      "message": "add system uptime and free disk space atoms and pullers\n\nTest: will add cts later\nChange-Id: I0b906fab82fca89b85bc0c7fbe06078115d43eec\n"
    },
    {
      "commit": "e5f82927ae60fdff909e030434354a6ba164f333",
      "tree": "29501b07133947d5578bc9415107b0bed324ac38",
      "parents": [
        "f74e56af8c1ea49a87a73cdbc70a6b6ec540e22f"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Mon Jan 22 18:37:27 2018 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Mon Jan 22 18:41:49 2018 -0800"
      },
      "message": "Fix adb shell cmd config remove command when no (uid, id) pair is\nspecified.\n\n- Previous logic was omitting commands when only \u0027adb shell cmd config\nremove\u0027 was provided without any uid, id argument. This change fixes it.\n- Recent disk guardrail change flips the convention of file name in\nstatsd directories to begin with timestamps. So delete with prefix was\nchanged to delete with suffix.\n\nBug: 72265185\nTest: manual testing, statsd_test\nChange-Id: Ia727fbc7acf0d9268b9f4952fa59975f4a9134cb\n"
    },
    {
      "commit": "be982d72fe1270f388de5103ea0bba4595b17f2d",
      "tree": "616722d5b514d94070116ef8062828e2092dc4c0",
      "parents": [
        "621eef006bbabe146717084a368028db77fd2f9b",
        "3ca368318ae8909c861e56c7d93035ab344ca10a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 01:47:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 01:47:25 2018 +0000"
      },
      "message": "Merge \"Fix flaky crashes caused during LogEvent destroy\""
    },
    {
      "commit": "74fde1cd08c70b950fc5121864f7066a22a0eba0",
      "tree": "c59d8969d4ff452feb64c194bd944fcc21834512",
      "parents": [
        "de6d13f857034a1def52bf6458d03c7bd61ca9c1",
        "8282d5b8bc528c765cd29ee65ee1d287ccb9f5bb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 23:14:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 23:14:53 2018 +0000"
      },
      "message": "Merge \"Avoid processing the log event when there is no config.\""
    },
    {
      "commit": "3ca368318ae8909c861e56c7d93035ab344ca10a",
      "tree": "fe6eb51579a57f17cd10ee1147778f541fc6757f",
      "parents": [
        "0e5f9c8a4b327a818ead467f3f3df1ca1e4af1ab"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Jan 22 15:10:54 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Jan 22 15:10:54 2018 -0800"
      },
      "message": "Fix flaky crashes caused during LogEvent destroy\n\nTest: cts tested\nChange-Id: I0329a64506b5838d2572cda0d1b86ad78bae4253\n"
    },
    {
      "commit": "b00cce84d9ddba04a3ebd5ed45457c1e154be535",
      "tree": "0e8a495423f69825b854e9ca1d7b4a16650a43e7",
      "parents": [
        "5f3dc878dc0a0fddd4f7b3bc80e1277ffde22c51"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Jan 22 22:54:26 2018 +0000"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Jan 22 22:54:26 2018 +0000"
      },
      "message": "Revert \"Revert \"Enable init.rc for statsd to start statsd by default in boot time\"\"\n\nThis reverts commit 5f3dc878dc0a0fddd4f7b3bc80e1277ffde22c51.\n\nChange-Id: I8d59dcd075d9b84ad44187e7744d125e79400c4c\n"
    },
    {
      "commit": "2ee4371cb73cd23a8615593956de2e4f0cea4a98",
      "tree": "ebd87d81e268189c860d8de5f1f11fd38dcd9e8b",
      "parents": [
        "1776fa33f1ed0b853e3f3dde979597d1674cdf29"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Jan 22 14:36:52 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Jan 22 14:44:37 2018 -0800"
      },
      "message": "Handle return value 0 from android_logger_list_read\n\nThis fixes the bug that sometimes statsd is running at 99% cpu.\nConnection to logd can be reset for various reasons, and android_logger_list_read\nwill return 0 when that happens. We didn\u0027t handle 0 before, and that leads to reading\nempty logs and processing them in a infinite loop.\n\nBug: 71833883\nTest: manual test by killing logd, forcing return 0.\nChange-Id: I5a9c89fc58959d6593028a14f70a8fe8d10b40f1\n"
    },
    {
      "commit": "974e56f141c31c596f89d2ed1725416245962a68",
      "tree": "726d227e69bf8097758846d9f7a6650294600bb0",
      "parents": [
        "e7193038c2a743c696a465acb87b73c6080ae691"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon Jan 22 10:48:04 2018 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon Jan 22 14:41:19 2018 -0800"
      },
      "message": "Enable incidentd.rc also add dump and usage_stats permission to statsd\nso it bypass incidentd\u0027s permission check\n\nTest: manual\nChange-Id: I65b501fe46f66f9f62fedfcfc75aa17f29fc1076\n"
    },
    {
      "commit": "960e72e87f9d1df65ea693803e4fb6aefca087b3",
      "tree": "0ab1fb87e16bedef95545f29214aa957f94c97a3",
      "parents": [
        "79a90c831751b2216d94577158d7ba2f3c642d0b",
        "d5747a6d70b18f0ec75e682e6070aaddf98881c5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 21:19:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 21:19:23 2018 +0000"
      },
      "message": "Merge \"Atom: ScheduledJobStateChanged\""
    },
    {
      "commit": "52cacc6c1a10296f7516777f4d09b11024e68782",
      "tree": "4138c38188f982eac0dd6b1b82d7aaba73b49d20",
      "parents": [
        "51a9a31ba58171c147b4c0c16c6acd54a97a5f65"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Fri Dec 08 18:11:45 2017 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Jan 22 10:23:21 2018 -0800"
      },
      "message": "add atom and logging for Picture-in-Picture feature\n\nTest: manual test\nChange-Id: I883b56ef5e922e513f218309b57d7df5753996c0\n"
    },
    {
      "commit": "b5253b65a4325501384605aec09a28e40198c844",
      "tree": "edb6df3c69bdd7a8803ee690607026a77f6a9f40",
      "parents": [
        "3c365cb21da4913c1eba00cce3052a04ecbdc014",
        "437aa6e8ad24489fcd8a7ab2c889874cfae12d0b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 09:20:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 09:20:52 2018 +0000"
      },
      "message": "Merge \"Add more information to incident header. Especially add config keys to check if the report is uploadable.\""
    },
    {
      "commit": "437aa6e8ad24489fcd8a7ab2c889874cfae12d0b",
      "tree": "b91f5e9984c6023ccf735b46883023b5cdf43b1a",
      "parents": [
        "d1238e7b506bd691a1e1fe35a3d54209b4bac839"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Jan 10 11:34:26 2018 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Sun Jan 21 22:36:01 2018 -0800"
      },
      "message": "Add more information to incident header. Especially add config keys\nto check if the report is uploadable.\n\nMove incidentheader.proto to libincident so statds is able to include a lite\nproto class for incident header.\n\nChange IncidentReportArgs to add the proto object instead of serialized\nbytes to prevent caller gives meaningless data.\n\nBug: 70241842\nTest: push config to statsd and verify incidentd generate the report\nwith correct header.\n\nChange-Id: If95b655be71047b019b229e5903a08f3c21a1f29\n"
    },
    {
      "commit": "9bcda3e072aa9bf02050f5cea1a267c225f60b71",
      "tree": "5a869a44c39b44b399775e523cee8d0a64eebf05",
      "parents": [
        "706012918f8db0e49a449f76354484d340335095"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Sun Jan 21 12:50:18 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Sun Jan 21 13:01:17 2018 -0800"
      },
      "message": "Make StatsdDogfood build again.\n\nTest: manual\nChange-Id: I14614c060cf0bfb49809315b3ef0482d8a64a1a5\n"
    },
    {
      "commit": "9da105bb321e4c28db6fd88a2d6cb01852ffefe2",
      "tree": "c139b7ac9062c9e79c959cde0afc4dcb4d5ad70c",
      "parents": [
        "db28e90bde24dd8c6dd877355e87a09265a7e0fd"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Sat Jan 13 12:41:08 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Fri Jan 19 22:14:26 2018 -0800"
      },
      "message": "add atoms for cpu power calculation\n\nTest: will add cts tests for them\nChange-Id: Ifefa3697ff64e8c484f79d08caf053bfc712b794\n"
    },
    {
      "commit": "0fd0659f7660e38dc6d1f85488d360dfc92c3723",
      "tree": "d3df31bd685d8426eebf44347bc22365b0fc50f9",
      "parents": [
        "57eb94358527242b4265e59f277ef262af2df17d",
        "508a9bfe33fbb65a634bedb8e93951d346f9d4f5"
      ],
      "author": {
        "name": "Rajeev Kumar",
        "email": "rajekumar@google.com",
        "time": "Sat Jan 20 04:30:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 20 04:30:53 2018 +0000"
      },
      "message": "Merge \"Add atoms to log memory metrics.\""
    },
    {
      "commit": "f7157470a3244d0125bb6649a8922aa6abd6f4b2",
      "tree": "7b94a658d7cd11c38ed8f72f550f890c7668b7e8",
      "parents": [
        "18fb2fe4cf1a5b071b27308e0b1fa4f769997761",
        "e4d44919aa90f16285a9966dcc632c128b932374"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 20 02:34:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 20 02:34:40 2018 +0000"
      },
      "message": "Merge \"Statsd -\u003e Perfetto integration\""
    },
    {
      "commit": "508a9bfe33fbb65a634bedb8e93951d346f9d4f5",
      "tree": "3863381942dc8a513cb82f07a6cb14985e60af96",
      "parents": [
        "bd9b0cf9b0713d8ed9edd0729a8b8b0ca47cbbd3"
      ],
      "author": {
        "name": "Rajeev Kumar",
        "email": "rajekumar@google.com",
        "time": "Thu Jan 18 15:49:11 2018 -0800"
      },
      "committer": {
        "name": "Rajeev Kumar",
        "email": "rajekumar@google.com",
        "time": "Fri Jan 19 16:57:52 2018 -0800"
      },
      "message": "Add atoms to log memory metrics.\n\nTest: Manual\nBug: 72177881\nChange-Id: I0e77c6651d10e6592e6bbd34c55186e5e49a70e9\n"
    },
    {
      "commit": "e4d44919aa90f16285a9966dcc632c128b932374",
      "tree": "801a98f6ae28069cc8302f0bb6b17c3004a7ca61",
      "parents": [
        "5e1f854620ecf48febb6ef8ddc3bff856efda7b1"
      ],
      "author": {
        "name": "Primiano Tucci",
        "email": "primiano@google.com",
        "time": "Wed Jan 10 12:14:50 2018 +0000"
      },
      "committer": {
        "name": "Primiano Tucci",
        "email": "primiano@google.com",
        "time": "Fri Jan 19 23:50:07 2018 +0000"
      },
      "message": "Statsd -\u003e Perfetto integration\n\nThis CL invokes the perfetto client utility to start the\ncollection of a trace when an anomaly that subscribed to\nPerfetto is detected. The code simply spawns the\n/system/bin/perfetto client and passes the trace config via\nstdin. The client takes care of the dropbox upload.\nThe CollectPerfettoTraceAndUploadToDropbox() function does\nNOT wait for the full trace collection (in order to avoid\nblocking statsd) and instead returns immediately after having\nspawned perfetto.\n\nChange-Id: I4f02067bad7a46ede7b6e4841cdcf381c1a4e2a7\nBug: 71795552\n"
    },
    {
      "commit": "d1238e7b506bd691a1e1fe35a3d54209b4bac839",
      "tree": "9b3f9a0eceef20332de6ea553829cf5425b31fc4",
      "parents": [
        "9c68323763f8c1cba088227c1058f194b84f36b2",
        "4bab3a191a70cbefac07c8fac90ec29081d91f89"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Jan 19 23:27:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 19 23:27:32 2018 +0000"
      },
      "message": "Merge \"Fix permissions problems of incidentd.\""
    },
    {
      "commit": "edaf9811ad6140faf65e8e8831eedb570d9eebf4",
      "tree": "68d21daf62564d6fdb03e6fb7c5f6fcdaac41a48",
      "parents": [
        "5d94c398eb17ea7e9ae7b834da69e11269b7e9b1",
        "da19ef21b575ae80276854e597bbfc8df4ca3abd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 19 21:33:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 19 21:33:22 2018 +0000"
      },
      "message": "Merge \"fix bug in CpuTimePerUidFreqPuller to pull the correct file\""
    },
    {
      "commit": "0ed268b1ec41003c7ed7fbe3c8cba726e7a1dbde",
      "tree": "51d33c9b60b6512579b0c8f90dab4d837ed88dfb",
      "parents": [
        "5e1f854620ecf48febb6ef8ddc3bff856efda7b1"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Wed Jan 10 09:37:10 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Fri Jan 19 10:11:58 2018 -0800"
      },
      "message": "similar to the samplers in batterystats, when we do diff,\nif the value is not monotically increasing, we should take\nthe absolute value as the diff.\n\nTest: unit tested\nChange-Id: Idd8a248b4092b1863eb8e50539f8f14b3ac9af9e\n"
    },
    {
      "commit": "8282d5b8bc528c765cd29ee65ee1d287ccb9f5bb",
      "tree": "db51d9197947df6c2fdb0aea26426f3d2e7f972a",
      "parents": [
        "e5b3296316b49bda30b2753025632bd8d9c3bf2e"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Fri Jan 19 09:47:39 2018 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Fri Jan 19 10:10:04 2018 -0800"
      },
      "message": "Avoid processing the log event when there is no config.\n\nTest: statsd unit test passed\nChange-Id: If9840283accdeaa36d956213a1a9fec44204e77d\n"
    },
    {
      "commit": "5e1f854620ecf48febb6ef8ddc3bff856efda7b1",
      "tree": "0820ad826cee20a6677afaa4184fe69b417e8a1b",
      "parents": [
        "bf2d3fa9b98c0deb05333c6779ee714e49130452",
        "2c6dc474acc3087c273cd2501d0769458a769f40"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 19 17:39:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 19 17:39:57 2018 +0000"
      },
      "message": "Merge \"Rename the dimension_in_what/condition as fields_in_what/condition in MetricConditionLink proto.\""
    },
    {
      "commit": "56dc5fdd0034b0d1b4f69cddf13a585bd2031197",
      "tree": "489b919e352ad3d7b78122ff799ded0d0533a056",
      "parents": [
        "42f92549c75d4687b3d2499872132573109cf16f",
        "6622e942def136eafeeb3978d2fc62648658e285"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 19 05:03:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 19 05:03:27 2018 +0000"
      },
      "message": "Merge \"Revert the field number change to make statsd_config proto backward-compatible.\""
    },
    {
      "commit": "bfff5d705a6757828f233e84d4e0ba82cd8b8cee",
      "tree": "f4fb2763dc93a7d32f174d9f074db547e3906f7f",
      "parents": [
        "504039b1d36075f03f2923a457b03694380c529f",
        "c0f6f63e2799e5ae95283521a90df801de6ea389"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 19 03:31:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 19 03:31:56 2018 +0000"
      },
      "message": "Merge \"Fix bug in statsd with uid memory guardrail\""
    },
    {
      "commit": "3f1f2bc986738685ae9160fbf6788502628df792",
      "tree": "a5d187b06dc06ff2ea1b5e31628d31544868f88b",
      "parents": [
        "1ebcf6101d473ac916f60c85aa5ed800c1280beb",
        "2346a22e7892b5b10a00fb47a013238182798acb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 19 02:53:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 19 02:53:30 2018 +0000"
      },
      "message": "Merge \"Put statsd on system-background cpu set.\""
    },
    {
      "commit": "8410675cc695523a4aad74aeef169f9a5d2fbded",
      "tree": "a0414f17a06ea80c2afdd176789ddefd3bcff61a",
      "parents": [
        "07f35aa6165c7abd418faf3b419bc1a003f6d992",
        "5503f5caae9496585da928a85c563ee28e683496"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 19 01:26:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 19 01:26:21 2018 +0000"
      },
      "message": "Merge \"condition dimension query.\""
    },
    {
      "commit": "6622e942def136eafeeb3978d2fc62648658e285",
      "tree": "c05eff2b3bf0d17ee4d3a32c041428721f27e638",
      "parents": [
        "940ba0c8fe9f24e2696f4910262be098bb152fc1"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Thu Jan 18 16:40:57 2018 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Thu Jan 18 16:40:57 2018 -0800"
      },
      "message": "Revert the field number change to make statsd_config proto backward-compatible.\n\nTest: statsd unit test passed.\nChange-Id: I28b28c0706d35da3617ec9dba4c5bfeb2527befc\n"
    },
    {
      "commit": "0137f81fafb77ed553d301a23f23e2ec2091069d",
      "tree": "95935a158392c21901affdcfb2f42b729469ff93",
      "parents": [
        "8d262867e101ff3455961da1ce63854b40fcf0cc",
        "16fc72f006976d2dc453782e9bf5369d885c74a0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 19 00:37:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 19 00:37:42 2018 +0000"
      },
      "message": "Merge \"Update the dimension_in_what/condition field number.\""
    },
    {
      "commit": "2346a22e7892b5b10a00fb47a013238182798acb",
      "tree": "c0985473c2d3e83197e9deb641529bee523483b2",
      "parents": [
        "af7b167f751f99ab583c0aa24d4ef9b8dfda4b6e"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Jan 18 16:37:10 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Jan 18 16:37:10 2018 -0800"
      },
      "message": "Put statsd on system-background cpu set.\n\nBug: 72176997\nTest: manual\nChange-Id: Ic160dc8ffea8fd349185ad8b583e6c02dc7defa6\n"
    },
    {
      "commit": "d03c598b937ea078108cd81cb1b61775adb1315e",
      "tree": "f23c398486374a3f5f7c3c8d70d9eb4b2bbbe366",
      "parents": [
        "5ccc6641595576a83b17c1d600ceefd3b14dc8f3",
        "5f3dc878dc0a0fddd4f7b3bc80e1277ffde22c51"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Jan 19 00:27:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 19 00:27:36 2018 +0000"
      },
      "message": "Merge \"Revert \"Enable init.rc for statsd to start statsd by default in boot time\"\""
    },
    {
      "commit": "2c6dc474acc3087c273cd2501d0769458a769f40",
      "tree": "e8f4cc3be750bbad72c3e84ef2b84a510c83cfe8",
      "parents": [
        "940ba0c8fe9f24e2696f4910262be098bb152fc1"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Thu Jan 18 16:17:43 2018 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Thu Jan 18 16:17:43 2018 -0800"
      },
      "message": "Rename the dimension_in_what/condition as fields_in_what/condition in MetricConditionLink proto.\n\nTest: statsd cts tests passed.\nChange-Id: I4c21b0da3d153c8d0c368a78647c44699a3161a5\n"
    },
    {
      "commit": "5f3dc878dc0a0fddd4f7b3bc80e1277ffde22c51",
      "tree": "e5dcd5f4e54fe6bdc636b9760991d2090a728c59",
      "parents": [
        "56967528d7bcc7a1342d68f19e0ffa79f2a1ed59"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Jan 19 00:12:18 2018 +0000"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Jan 19 00:12:18 2018 +0000"
      },
      "message": "Revert \"Enable init.rc for statsd to start statsd by default in boot time\"\n\nThis reverts commit 56967528d7bcc7a1342d68f19e0ffa79f2a1ed59.\n\nChange-Id: I4b76bf5783f0df43603e82168009f33296d1f840\n"
    },
    {
      "commit": "c0f6f63e2799e5ae95283521a90df801de6ea389",
      "tree": "f8a021683dbe64f75a1e992f8cb2b1c41aeef1b9",
      "parents": [
        "633792e2d3fd0d09eebc4294119dcc9b1b1de970"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Thu Jan 18 16:02:42 2018 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Thu Jan 18 16:02:42 2018 -0800"
      },
      "message": "Fix bug in statsd with uid memory guardrail\n\nPreviously unsigned a negative number to unsigned type, so the int\ncomparison didn\u0027t work as planned.\n\nTest: Manually tested and observed log messages.\nChange-Id: Ic72c4dbde5e560288fd64ca11c4bcc81021fb1a9\n"
    },
    {
      "commit": "5503f5caae9496585da928a85c563ee28e683496",
      "tree": "d0d0a67eb91c9e0d7f1b376174383320de024810",
      "parents": [
        "940ba0c8fe9f24e2696f4910262be098bb152fc1"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Mon Jan 15 23:20:44 2018 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Thu Jan 18 14:51:51 2018 -0800"
      },
      "message": "condition dimension query.\n\nTest: Modified the metric link test to query a subset of the predicate/condition dimensions.\n\nChange-Id: I693f14e0b11693fc8ee0bf4fc550977c20d31f71\n"
    },
    {
      "commit": "16fc72f006976d2dc453782e9bf5369d885c74a0",
      "tree": "21b9ba0fd30ab577bf4ce8e42ad6bb7afd27bd9b",
      "parents": [
        "940ba0c8fe9f24e2696f4910262be098bb152fc1"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Thu Jan 18 13:18:01 2018 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Thu Jan 18 14:13:21 2018 -0800"
      },
      "message": "Update the dimension_in_what/condition field number.\n\nTest: statsd unit test passed.\n\nChange-Id: I11aa8a5cfc3bce703cf5ed0d9696d1949df449f0\n"
    },
    {
      "commit": "d5747a6d70b18f0ec75e682e6070aaddf98881c5",
      "tree": "415e125acc7f75803201ec478315e97fdee653c4",
      "parents": [
        "6ca845ae0bf9ecd15ef5dc92a87fb8a99af18449"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Jan 08 20:57:35 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Thu Jan 18 13:21:55 2018 -0800"
      },
      "message": "Atom: ScheduledJobStateChanged\n\nRename the possible states in ScheduleJobStateChanged\nfrom ON and OFF to SCHEDULED, STARTED, and FINISHED.\nAdded the log line in JobSchedulerService for SCHEDULE.\nSTARTED corresponds to what previously was the ON event.\nFINISHED corresponds to what previously was the OFF event.\n\nTest: accompanying CTS test\nChange-Id: I779dd58092e8fdee58561b8e8e74be5404f3ed93\n"
    },
    {
      "commit": "67462296b1a18fc7aa65e0b7ae0e973e49e0a3ae",
      "tree": "91ddaf696c6d5a808ba3f4f64ba93f1a6a2597f7",
      "parents": [
        "1ae3cf14c3b474ebe71db8c25e2e8e57bc69bd77",
        "f5acabe9466af3571a4318852cdb26856e5ba100"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Jan 18 20:09:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 18 20:09:06 2018 +0000"
      },
      "message": "Merge \"Add StatsdStats in statsd\u0027s dumpsys\""
    }
  ],
  "next": "2c41460bc81f8f6139afe387e7ad85e5d9f32104"
}
