)]}'
{
  "log": [
    {
      "commit": "ebe7e237a6b242d46c473117e4457bfff0d0df33",
      "tree": "98812baf0e7f488f0e2efcb4ac7aec5663004862",
      "parents": [
        "28ff9ceeeb2aa9f864a0f73e6d3557125042c22a"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Tue Feb 20 13:22:53 2018 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Tue Feb 20 13:22:53 2018 -0800"
      },
      "message": "Fix bug in edge case for statsd anomaly tracking.\n\nGetting a past bucket value will always crash for anomalies\nconfigured to track only the most recent one bucket.\n\nTest: N/A\nChange-Id: I2cd1c82fe8ba4cecb4fac21038bb5f04a60c360e\n"
    },
    {
      "commit": "28ff9ceeeb2aa9f864a0f73e6d3557125042c22a",
      "tree": "19de45c83c982a9b355127a8c18bdc41aaa82331",
      "parents": [
        "8b3a832cdd66e86db609aaf49f9a24a4112a21c1",
        "203a9ab7665787c94f7d0711a1ad172588070aa6"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 20 18:17:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 20 18:17:34 2018 +0000"
      },
      "message": "Merge \"Revert \"Log the apk optimization state in the MetricsLogger\"\""
    },
    {
      "commit": "203a9ab7665787c94f7d0711a1ad172588070aa6",
      "tree": "a3071eb431ca2d41c3826cb24e12fcc9a03f2a94",
      "parents": [
        "0a8bea818c330d02161322901534992253a2f9ee"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 20 17:06:21 2018 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 20 17:06:21 2018 +0000"
      },
      "message": "Revert \"Log the apk optimization state in the MetricsLogger\"\n\nThis reverts commit 0a8bea818c330d02161322901534992253a2f9ee.\n\n\nE AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: ActivityManager\nE AndroidRuntime: java.lang.NullPointerException: Attempt to read from field \u0027java.lang.String com.android.server.am.ProcessRecord.requiredAbi\u0027 on a null object reference\nE AndroidRuntime:        at com.android.server.am.ActivityMetricsLogger.logAppTransition(ActivityMetricsLogger.java:504)\nE AndroidRuntime:        at com.android.server.am.ActivityMetricsLogger.access$100(ActivityMetricsLogger.java:62)\n\nBug: 73626352\nChange-Id: Idd50e0d2cf34e5393b4ae76ef8bc48b0067532eb\n"
    },
    {
      "commit": "6e24ac89485ffc6e05d88850a9f19429ddb35609",
      "tree": "ec33ac8b5a3219717d74dbcea24ca2fa201d7370",
      "parents": [
        "2588dbce3470cd72b8e0237e8a2e3bc22850c2ce",
        "0a8bea818c330d02161322901534992253a2f9ee"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Feb 19 19:36:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 19 19:36:08 2018 +0000"
      },
      "message": "Merge \"Log the apk optimization state in the MetricsLogger\""
    },
    {
      "commit": "0a8bea818c330d02161322901534992253a2f9ee",
      "tree": "a3c9a78911969b6758b87da3ba5e3be0d2b7a8d8",
      "parents": [
        "1eb43b98417cc652ed983252f66048c48091ffde"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 13 12:01:41 2018 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 16 15:46:14 2018 -0800"
      },
      "message": "Log the apk optimization state in the MetricsLogger\n\nLog the apk optimization state for app transition events. This will allow\nprecise measurement of the events based on the level of optimizations\nperformed.\n\nTest: manual, adb logcat -b events | grep sysui_multi_action\nBug: 73102540\nChange-Id: Ia8ccddff4ebe4120e05bb5d1dfb1cd458fa61e8a\n"
    },
    {
      "commit": "334899b0d8f9690addc1c2a2a69b72c406f7813f",
      "tree": "26676941a07282eb6a5c0ffd11f158b5669120d1",
      "parents": [
        "c076dcd477176034231c7ac3dc2b0bd2dcb9bfcd",
        "22d92b76bccd6666ea34009310dced62ba79165b"
      ],
      "author": {
        "name": "Rajeev Kumar",
        "email": "rajekumar@google.com",
        "time": "Fri Feb 16 21:52:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 21:52:22 2018 +0000"
      },
      "message": "Merge \"Implement atom puller for ProcessMemoryState.\""
    },
    {
      "commit": "0f888de06b3dcbb73a410578d48539ca970f4f3b",
      "tree": "36b32a085af4dda8e893668f571b72459475ef1b",
      "parents": [
        "3b9999edcaa1d993b5a6b3cec2a31b28a74485d2",
        "bcc71c55c77d3ed36152ecc1ce691f16ad102312"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 16 17:31:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 17:31:42 2018 +0000"
      },
      "message": "Merge \"Resupport long compare\""
    },
    {
      "commit": "3b9999edcaa1d993b5a6b3cec2a31b28a74485d2",
      "tree": "cf8a213fb3fe33856009bf9177bcf312345968b7",
      "parents": [
        "452dc8adbe002dd67a527b80860545b192c45d53",
        "fdc123b6858b529d3a7661af241a94306816bfa9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 16 17:30:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 17:30:43 2018 +0000"
      },
      "message": "Merge \"Adds locks to ConfigManager in statsd.\""
    },
    {
      "commit": "a9e43fa9b796b8d1642758b3a8c42ed8c0ee307b",
      "tree": "ae28bac918433d3f3d1b196455eb4833fd7897c5",
      "parents": [
        "7ed04f9590bbdd723bba63b6c6b4b7b92d3ddcff",
        "00621d212ea15c64257d7150d2904f32d4cfe62d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 16 17:28:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 17:28:32 2018 +0000"
      },
      "message": "Merge \"Remove a statsd duration anomaly sanity check.\""
    },
    {
      "commit": "bcc71c55c77d3ed36152ecc1ce691f16ad102312",
      "tree": "f31a4abd0a86516a6c822ed8a99d0996c6f22ce5",
      "parents": [
        "100d494bae64ca1cafda06a66b7ef91df90ff833"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Thu Feb 15 18:45:00 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Thu Feb 15 18:45:00 2018 -0800"
      },
      "message": "Resupport long compare\n\nIn ag/3554499 we made it so that comparisons of longs was supported.\nThat support was apparantly deleted by accident during a refactoring of\ncode, so this adds it back.\n\nBug: 73509837\nTest: it gets used in run cts-dev -m CtsStatsdHostTestCases -t android.cts.statsd.alert.AnomalyDetectionTests#testCountAnomalyDetection\nChange-Id: I3dbe7da61bbfb3e9982fd1e0cc7d4658b0168690\n"
    },
    {
      "commit": "22d92b76bccd6666ea34009310dced62ba79165b",
      "tree": "8fd742f19c6f7781b37131b625a7b848cbe1d54c",
      "parents": [
        "f9a02975eaa5a36584eb1f214193d24053af73f1"
      ],
      "author": {
        "name": "Rajeev Kumar",
        "email": "rajekumar@google.com",
        "time": "Wed Feb 07 18:38:36 2018 -0800"
      },
      "committer": {
        "name": "Rajeev Kumar",
        "email": "rajekumar@google.com",
        "time": "Thu Feb 15 13:43:55 2018 -0800"
      },
      "message": "Implement atom puller for ProcessMemoryState.\n\nWe would like to gather memory metrics of the processes when LMKD kills\na process. By gathering this info we would be able to analyze and improve\nsystem health by potentially reducing memory footprint of the processes\ncontributing to the memory pressure on the device.\n\nThis feature would be available on production builds.\n\nPerf analysis:\nOn an average getMemoryStateForProcesses method call takes\n0.59 milli seconds per process.\n\nTo know more about this see: http://go/android-p-memory-metrics\n\nBug: 72177881\nTest: Tested manually\nChange-Id: Ice94c2d937a5c84bc205981d99588a30f686ff9b\n"
    },
    {
      "commit": "15d81021112c330bc3c3a9d557bb6dbae80988e7",
      "tree": "fe2307425326ed71bfa5b2cb84362a6b128e6345",
      "parents": [
        "7d5beeb25530ec016557f37bb900b201ba4d498c",
        "4bad04eda45711112722d24efff98a4d69c8930a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 15 20:32:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 15 20:32:24 2018 +0000"
      },
      "message": "Merge \"Add owners file for statsd/incidentd\""
    },
    {
      "commit": "fdc123b6858b529d3a7661af241a94306816bfa9",
      "tree": "b46aeb0c5c511f889a429454e87af9f9ba6e6996",
      "parents": [
        "581576efef1b25efedc4a7657e8ea84a26a7fe2f"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Fri Feb 09 17:21:48 2018 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Thu Feb 15 11:31:15 2018 -0800"
      },
      "message": "Adds locks to ConfigManager in statsd.\n\nThe ConfigManager can be triggered by Binder threads, so we should\nlock any reads or writes to the config managers. We don\u0027t need to\nlock within StatsService, so those methods simply call the methods\nin ConfigManager.\n\nTest: Test that statsd builds and unit tests pass.\nChange-Id: I96904c4140a95dc60a419281c8c54f606a443fbc\n"
    },
    {
      "commit": "7d5beeb25530ec016557f37bb900b201ba4d498c",
      "tree": "5de75b38e3a728437ed0101e648dc3ad8ffd5e7c",
      "parents": [
        "bc5fc746a7cc85f1d39c16659a6603b23e33369a",
        "b639d14f1a97b77c4e69de480a6d222265094bba"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 15 19:26:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 15 19:26:32 2018 +0000"
      },
      "message": "Merge \"More formatting fixes for statsd\""
    },
    {
      "commit": "f31667f41246438bbe9f3555e26309d7c5d4fa31",
      "tree": "fb75288e20cb9236e1783f0afd6d64389940756f",
      "parents": [
        "4db3ca08dc1830e8bad453cefbc3f3417e152098",
        "1476ef24f33fd9ff7d0e748f61cc964723e6bb1c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 15 17:15:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 15 17:15:41 2018 +0000"
      },
      "message": "Merge \"Statsd guardrail for Alerts\""
    },
    {
      "commit": "b639d14f1a97b77c4e69de480a6d222265094bba",
      "tree": "b9858b5afef04c21cf10505a726d2e16f2e6fada",
      "parents": [
        "581576efef1b25efedc4a7657e8ea84a26a7fe2f"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Feb 14 17:29:54 2018 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Feb 14 17:45:45 2018 -0800"
      },
      "message": "More formatting fixes for statsd\n\nTest: N/A\nChange-Id: I378cde8700655bfba26b112ae6df1b4347683bdb\n"
    },
    {
      "commit": "00621d212ea15c64257d7150d2904f32d4cfe62d",
      "tree": "3408a5b350d013550be4e19865772e88dd2b235f",
      "parents": [
        "581576efef1b25efedc4a7657e8ea84a26a7fe2f"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Feb 14 17:30:38 2018 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Feb 14 17:30:38 2018 -0800"
      },
      "message": "Remove a statsd duration anomaly sanity check.\n\nThe logic previously assumed that each bucket can only contain a\nduration up to the bucket size, but this is not true for the max\nsparse aggregation type. Instead of trying to keep this logic up to\ndate on the client, we will remove this check.\n\nTest: Test that statsd still builds and unit-tests pass.\nChange-Id: I576d75f8697b4e691b864f12ccaa6fa4611336c5\n"
    },
    {
      "commit": "db15052ae2ea34807644e2e97afa908e43ae59fd",
      "tree": "1d98487a749efcd2dcb89cf6d2c0de9170d2605c",
      "parents": [
        "d69c65f368e01893618a28520a6849776e70789b",
        "59cc24dbfda4148c1f5ef4de9c8763caa8672443"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Thu Feb 15 00:18:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 15 00:18:22 2018 +0000"
      },
      "message": "Merge \"Add a guardrail to limit minimum bucket duration to be 5 minutes except when configured through adb command\""
    },
    {
      "commit": "4bad04eda45711112722d24efff98a4d69c8930a",
      "tree": "86e145622aea7b59331d5f35278f6208b21464bd",
      "parents": [
        "85a6db68f1860bbaacc1cc21e29c4f61aabe0abb"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Feb 14 15:41:19 2018 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Feb 14 15:47:39 2018 -0800"
      },
      "message": "Add owners file for statsd/incidentd\n\nTest: N/A\nChange-Id: I5536a239e0fefbc05a0db3b88de6d4a6ccddfdee\n"
    },
    {
      "commit": "1476ef24f33fd9ff7d0e748f61cc964723e6bb1c",
      "tree": "01ddd8cce2a2edbfdecb9146ceed6e292ca99e7d",
      "parents": [
        "07b2dbc2c54d3b436791ea532d5c0d70a3281574"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Feb 13 12:26:01 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Wed Feb 14 13:56:25 2018 -0800"
      },
      "message": "Statsd guardrail for Alerts\n\nNow, each config is allowed at most 100 Alerts in it.\nThat is, for each uid, for each config id, the config\u0027s alert section\ncan have at most 100 items in it.\n\nBug: 73287046\nTest: none yet\nChange-Id: I2c81bc647627e432337c359c0a76aa3fc08bdd23\n"
    },
    {
      "commit": "6189807c12e9cf32a36d32557725561c44b8aa5a",
      "tree": "79445d0e04e7df64ccb17ff5700ba93d23ec0d2f",
      "parents": [
        "5f76688c5a8eefd16bc51569263667e7f403f242",
        "4c959cb99eb7e71e5417a61f5429c5fa0073e826"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 14 20:12:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 14 20:12:18 2018 +0000"
      },
      "message": "Merge \"Remove unused variables in statsd, and make more warnings show.\""
    },
    {
      "commit": "2f5b9c9b03a3945945e5b4f09c696c25bcd3ddb5",
      "tree": "6a1aca0f52415e0baf71be63c3a6aeb495b39808",
      "parents": [
        "f979bcfaba477a5a73bed76b178f1cdeb46dd1d9",
        "0b5c90cd8ce9ccc6cb1a431e52f18225d60a5cd6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 14 19:18:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 14 19:18:39 2018 +0000"
      },
      "message": "Merge \"Updates statsd atoms.proto with small changes.\""
    },
    {
      "commit": "98eafdb111adf8799b0b25a94882da8d5f842a44",
      "tree": "e9351a3838ee9708e59adaaf89cfcd453be18d4e",
      "parents": [
        "11817c6bb21423cec873f5acd11cbb203bdc7729",
        "330af58f2b8582b855085655fae553cdfaf44e6c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 14 17:17:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 14 17:17:07 2018 +0000"
      },
      "message": "Merge \"Use elapsed realtime instead of times based on wall clock, which can jump around and go backwards.\""
    },
    {
      "commit": "d8be2394d312bfe9192da510923359dd014675ea",
      "tree": "ca6ebe73600c06d7dfbcff7d4f26e7279630fae2",
      "parents": [
        "b95dd90c750877955073bf8a3dd828646eebcee6",
        "f4ae56b87b12a83c1c5b9fb988aaea71e52ae059"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 14 08:00:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 14 08:00:10 2018 +0000"
      },
      "message": "Merge \"Fix a bug of not deleting previously added config files on disk\""
    },
    {
      "commit": "330af58f2b8582b855085655fae553cdfaf44e6c",
      "tree": "b93137833b438812155cac1ae1958cf963f7d8d3",
      "parents": [
        "73d6050edf397d38aa262f2eff19551a4458ca73"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Thu Feb 08 15:24:38 2018 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Tue Feb 13 23:30:39 2018 -0800"
      },
      "message": "Use elapsed realtime instead of times based on wall clock, which can jump around and go backwards.\n\nTest: statsd unit test passed\n\nChange-Id: Ib541df99231e171b3be2a24f75632693e36da90e\n"
    },
    {
      "commit": "f4ae56b87b12a83c1c5b9fb988aaea71e52ae059",
      "tree": "75c13283988eefe115d5d745d1b3440ad79fc7af",
      "parents": [
        "147e799606a642d1e5a779c44550260890f6c2ce"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Tue Feb 13 22:06:34 2018 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Tue Feb 13 22:07:43 2018 -0800"
      },
      "message": "Fix a bug of not deleting previously added config files on disk\n\nBug: 73304022\nTest: statsd_test\nChange-Id: Ic024d40da97ed79cb405a5da1f0c9abac0436b34\n"
    },
    {
      "commit": "59cc24dbfda4148c1f5ef4de9c8763caa8672443",
      "tree": "0d59c3b09bffc9a9c23ba0808e9dbb2df3d84ac3",
      "parents": [
        "147e799606a642d1e5a779c44550260890f6c2ce"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Tue Feb 13 20:17:32 2018 -0800"
      },
      "committer": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Tue Feb 13 20:26:31 2018 -0800"
      },
      "message": "Add a guardrail to limit minimum bucket duration to be 5 minutes except\nwhen configured through adb command\n\nBug: 73287251\nTest: statsd_test\nChange-Id: Iee51fedbaabb2c1f534a6edef3c564da88ef658b\n"
    },
    {
      "commit": "736d690a45feb2185fa00a9e8e4d9b02bbdf4fa9",
      "tree": "eef245326589e777d1533c5398fc5db68feec3bb",
      "parents": [
        "759148c6a79e062f22b3ca174c5a5b2c82c19999",
        "14e0d854d75a2f30cb544c42998dc6e626d1cf48"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 14 01:36:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 14 01:36:08 2018 +0000"
      },
      "message": "Merge \"Statsd_test update for rounding up alarms\""
    },
    {
      "commit": "0b5c90cd8ce9ccc6cb1a431e52f18225d60a5cd6",
      "tree": "6c75e799dfafb3daf388f7ef38d1d0723cf536ea",
      "parents": [
        "85a6db68f1860bbaacc1cc21e29c4f61aabe0abb"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Thu Jan 25 16:51:49 2018 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Tue Feb 13 16:17:25 2018 -0800"
      },
      "message": "Updates statsd atoms.proto with small changes.\n\nRenames the apphook atom to be more descriptive. Renames time\nsuffixes to match more clear convention (ms and msec are ambiguous).\n\nAdds a field to CPU active time that\u0027s required for the metrics\nto be usable.\n\nTest: Test that statsd can still build.\nChange-Id: I94866510738db994e8d757260f30e599ba995dbd\n"
    },
    {
      "commit": "14e0d854d75a2f30cb544c42998dc6e626d1cf48",
      "tree": "6a469c98e09ce7fcb6836aeca303ffe88192c080",
      "parents": [
        "501406650aea091ada396d6f71d7dc2264a2a9b1"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Feb 13 15:55:14 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Feb 13 15:55:14 2018 -0800"
      },
      "message": "Statsd_test update for rounding up alarms\n\nIn ag/3580546 we now round up when setting anomaly alarms. This means\nthe test needs to be updated by 1s in one place.\n\nTest: make statsd_test \u0026\u0026 adb sync data \u0026\u0026 adb shell data/nativetest64/statsd_test/statsd_test\nChange-Id: Ibd3548833dcc2c1b9ca3a1da2c183bb771799775\n"
    },
    {
      "commit": "4c959cb99eb7e71e5417a61f5429c5fa0073e826",
      "tree": "426c275b4d16f1119dd4eb67b7e0442fb4c75862",
      "parents": [
        "85a6db68f1860bbaacc1cc21e29c4f61aabe0abb"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Feb 13 13:27:48 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Feb 13 15:31:22 2018 -0800"
      },
      "message": "Remove unused variables in statsd, and make more warnings show.\n\nTest: statsd_test\n\nChange-Id: I2c7b674cb615f22c5de90c2de5f2d58108ab2e7f\n"
    },
    {
      "commit": "ab92a1fdcc2c56ffe6c451711c0eb35becbdd6e3",
      "tree": "9a8414c2c16768681ef04800f47295c8897fe617",
      "parents": [
        "85a6db68f1860bbaacc1cc21e29c4f61aabe0abb"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Feb 13 15:17:55 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Feb 13 15:17:55 2018 -0800"
      },
      "message": "Fix a bug in LogEvent.GetLong\n\nTest: statsd_test\n\nBug: 73303815\nChange-Id: I375083e7a9e447b385608b4ab64dc45981aa1193\n"
    },
    {
      "commit": "42362cfc0873a72a5bd38a11bd97e3960c83079b",
      "tree": "5667a94994b90131e3f7ae3adf21f1965234686f",
      "parents": [
        "389cf2c265a5fcfe086c85d467e94158d4dd596b",
        "db43afcec22c11ce661decdd2b3500f2dfe2034a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 20:07:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 20:07:21 2018 +0000"
      },
      "message": "Merge \"Fix a bug in vector reverse iteration.\""
    },
    {
      "commit": "db43afcec22c11ce661decdd2b3500f2dfe2034a",
      "tree": "3ea9da8556b5a3c997ade26731a984f4b23d442e",
      "parents": [
        "fc7423bcba0678cc4a09ce19ec42830126107770"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Feb 13 09:37:27 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Feb 13 10:18:53 2018 -0800"
      },
      "message": "Fix a bug in vector reverse iteration.\n\nBug: 73264895\n\nTest: statsd_test and locally built statsd with\n     LOCAL_CLANG:\u003dtrue\n     LOCAL_SANITIZE:\u003daddress\n\nChange-Id: Ifb8e04c5b4908446f553169846a3226db6e02f54\n"
    },
    {
      "commit": "ebc4331cda546baa3115af92e27fbe8f2af8a09a",
      "tree": "793442cb2d1f07f5a4e270eadafbdb2a22ea1ab3",
      "parents": [
        "af55ba8ca626eb5d2b5af1145eef03ca3d97e798",
        "aab45c1d09d3191a1289fb9d0408bfc2cfe7cf98"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 07:48:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 07:48:41 2018 +0000"
      },
      "message": "Merge \"Remove sending broadcast when StatsLogProcessor is being initialized as its clients have not started to receive broadcasts\""
    },
    {
      "commit": "af55ba8ca626eb5d2b5af1145eef03ca3d97e798",
      "tree": "9ee1e1948b1fbf595af9f9c8d4fc02048e7d70bb",
      "parents": [
        "ed1df9818f9ac65f04d0e2c98aac6e63c8a86e95",
        "66fe06183f3074554c524f6e2ee47ce6fd727941"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 07:19:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 07:19:18 2018 +0000"
      },
      "message": "Merge \"Statsd Anomaly Detection fixes\""
    },
    {
      "commit": "aab45c1d09d3191a1289fb9d0408bfc2cfe7cf98",
      "tree": "83c8946b97aaa8a8266aee3650d019650d8e0c44",
      "parents": [
        "ceb94979e32b20496c64f6f454b4f1dbe1856341"
      ],
      "author": {
        "name": "yro",
        "email": "yro@google.com",
        "time": "Thu Feb 08 11:12:28 2018 -0800"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Mon Feb 12 22:20:39 2018 +0000"
      },
      "message": "Remove sending broadcast when StatsLogProcessor is being initialized as\nits clients have not started to receive broadcasts\n\nThis also fixes broken statsd_test\u0027s which happens whenever there are\nfiles in /data/misc/stats-data/ which is generated right before reboots.\nThis would delay the upload time from right after reboot to next upload\ncycle but it should not be an issue.\n\nBug: 73089712\nTest: statsd_test\nChange-Id: Ida81099c9c9e54804a0c3b3b349096312ef570bc\n"
    },
    {
      "commit": "9d82216abc9ab077bd029355667e03c56aec5737",
      "tree": "406734f43b4f3cf56dd9276c277754a7610c9331",
      "parents": [
        "97661735aab95260f68d33896f76d071fe025fcd",
        "c189bdcb05d0aa9cf4f2e9f6d894f57aab6efe98"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 12 21:43:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 12 21:43:08 2018 +0000"
      },
      "message": "Merge \"Small fix to anomaly tracker in statsd.\""
    },
    {
      "commit": "66fe06183f3074554c524f6e2ee47ce6fd727941",
      "tree": "163443ae9589f76159fa24430ac33050ef056f8a",
      "parents": [
        "e8cf6110aed233019a41fddd4fdca0cc93bb8433"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Wed Feb 07 18:51:48 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Mon Feb 12 12:28:47 2018 -0800"
      },
      "message": "Statsd Anomaly Detection fixes\n\nMinor fixes and notes regarding the setting of refractory periods and\nanomaly alarms.\nAlso changes the anomaly alarms from inexact to exact.\n\nTest: run cts-dev -m CtsStatsdHostTestCases -t android.cts.statsd.alert.AnomalyDetectionTests\nChange-Id: Ia4f4c84dd647ebbbad4bab66164cd7709f8628e8\n"
    },
    {
      "commit": "e8cf6110aed233019a41fddd4fdca0cc93bb8433",
      "tree": "26194099faa70eff6dd5581acc2fb7e07061e290",
      "parents": [
        "6b83824afaa271fc760d0bd39e339fa25a081c2d",
        "8a8d16ceea1e5b7a2f8c41e17b5d993035f50f5d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 12 19:53:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 12 19:53:56 2018 +0000"
      },
      "message": "Merge \"Statsd CPU optimization.\""
    },
    {
      "commit": "8a8d16ceea1e5b7a2f8c41e17b5d993035f50f5d",
      "tree": "f3c3ba9f29eebe1c22d79cd49516306093925e21",
      "parents": [
        "4f07fa4e748c4f259a7ae9c06f89e44a9c69acff"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Feb 08 14:50:40 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Feb 12 10:38:45 2018 -0800"
      },
      "message": "Statsd CPU optimization.\n\nThe key change is to revamp how we parse/store/match a log event, especially how we match repeated\nfield and attribution nodes, and how we construct dimensions and compare them.\n\n+ We use a integer to encode the field of a log element. And also encode the FieldMatcher into an\ninteger and a bit mask. The log matching becomes 2 integer operations.\n\n+ Dimension is stored as encoded field and value pair. Checking if 2 dimensions are equal is then\n  becoming checking if the underlying integers are equal. The integers are stored contiguously\n  in memory, so it\u0027s much faster than previous tree structure.\n\nStart review from FieldValue.h\n\nTest: statsd_test + new unit tests\n\nBug: 72659059\n\nChange-Id: Iec8daeacdd3f39ab297c10ab9cd7b710a9c42e86\n"
    },
    {
      "commit": "8a1bacaf91039d7f174fcd1760016ad1134c9821",
      "tree": "4475556fe69f1cb79d3f3b4abddbc2dd1731c4ef",
      "parents": [
        "7841ff5e88192fc37eb1bc87064efd97f2a70bf1",
        "3410634f2c6454626b1ec4b11f5b6f036a1141e2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 10 03:33:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 10 03:33:20 2018 +0000"
      },
      "message": "Merge \"Benchmark: stats_write\""
    },
    {
      "commit": "c189bdcb05d0aa9cf4f2e9f6d894f57aab6efe98",
      "tree": "a15c8ef0624385cc57fdd0c7ba6d3f1600d80eb2",
      "parents": [
        "f9420f4dddebc89db11ee04d1ef22e9944fc1396"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Fri Feb 09 16:09:26 2018 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Fri Feb 09 16:09:26 2018 -0800"
      },
      "message": "Small fix to anomaly tracker in statsd.\n\nIf the config specifies only one past bucket for anomaly detection,\nstatsd doesn\u0027t want to store any past buckets since only the current\nbucket being tracked in the Metrics Producer is used for deciding\nif we hit the anomaly.\n\nTest: Checked that statsd_test passes.\nChange-Id: I7ca65bf7d2dfcb2d5c7d5c90f63f4a1c70fbc792\n"
    },
    {
      "commit": "7f9e63b63269baa41a36fc31acd6fc071309c26c",
      "tree": "783f5e5b55341f7dad48db2fba706295f9b25ca8",
      "parents": [
        "421822ce0f3bb581d36cdc5273d4c345c634f9c0"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Feb 02 16:25:11 2018 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Feb 09 14:20:48 2018 -0800"
      },
      "message": "Add clear method to ProtoOutputStream so it is reusable by just\nrewinding its internal pointer.\n\nBug: 72319159\nTest: atest incidentd_test and atest statsd_test\nChange-Id: Id046b987a7460d68300e5d4d46ae56aec1eba2d0\n"
    },
    {
      "commit": "9936ce824536355b266a1f69babc2d9256da885f",
      "tree": "2d322a06bc015ef892cb5f22b89c7681c0075696",
      "parents": [
        "27b3cad2574c2058147b60859435988aca5afb6b",
        "c477d9c0015017ed9a7da0e635699a4bc086461d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 09 07:32:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 09 07:32:21 2018 +0000"
      },
      "message": "Merge \"Atom: CallStateChanged\""
    },
    {
      "commit": "bde353c36f908c71842683f2c9e7d0565beb4be9",
      "tree": "c2151d76842f603e88e33d35c5cdd5586fd8bed5",
      "parents": [
        "bd6be624f618a8abf495cdece795732b0a99fcf3",
        "484524a246ffe453f8cd89b698a279c23b0bde1f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 09 03:10:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 09 03:10:20 2018 +0000"
      },
      "message": "Merge \"Turn off debug logging in statsd\""
    },
    {
      "commit": "f774a706a07f3ac67558f299f6c0ddeb577c5b14",
      "tree": "a4f5ceb21f28a681d5382ea239b0eac79c3e876d",
      "parents": [
        "f89e8ea14e909f31bbd28f5dc0876779372d0548",
        "feba309244ce3d499e8ffe6132ac0c9eca5fc434"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 09 00:25:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 09 00:25:58 2018 +0000"
      },
      "message": "Merge \"fix subsystem sleep state to use correct puller\""
    },
    {
      "commit": "feba309244ce3d499e8ffe6132ac0c9eca5fc434",
      "tree": "fb5288dd5f0cd8ed4f06c2a9c9ada20d5054b130",
      "parents": [
        "af018ce38774262c634dbaee65cc1293aca21912"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Thu Feb 08 14:33:37 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Thu Feb 08 14:36:49 2018 -0800"
      },
      "message": "fix subsystem sleep state to use correct puller\n\nTest: cts test\nChange-Id: Iacac0c0fa69de6da818d3788b7499e09e46c8393\nFix: 73128324\n"
    },
    {
      "commit": "484524a246ffe453f8cd89b698a279c23b0bde1f",
      "tree": "a7ea4f1f6a91693e7fd6552a0103aa70f4ec680c",
      "parents": [
        "a5ffafbfda3b5f6dd7f883045b6b0da0556b934c"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Thu Feb 01 15:10:05 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Thu Feb 08 13:11:29 2018 -0800"
      },
      "message": "Turn off debug logging in statsd\n\nSets DEBUG to false everywhere and replaces all ALOGD with VLOG so they\ndo not print with DEBUG false. Leaves all ALOGI, ALOGW and ALOGE as is.\n\nTest: ran all CTS tests and checked \"adb logcat -s statsd\" to make sure\nit wasn\u0027t spammy\n\nChange-Id: Iaa8eb3a0a63723ffe40f94f2815f94df877fd432\n"
    },
    {
      "commit": "959b80f1917a4cb310b8089ac6cc10d702f04c8a",
      "tree": "62f553bd35dae52b8bfd73eee841c606f4734830",
      "parents": [
        "e6823b8199d4219c1a78f61e800ec5630fae19e1",
        "16049578001364e1fcb0f10d6f94868081e57316"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 08 20:24:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 08 20:24:31 2018 +0000"
      },
      "message": "Merge \"Modifies statsd output for start and end times.\""
    },
    {
      "commit": "9ea3c99a95e2b5040e552dd02a3403c7c5b3ff40",
      "tree": "896c3fda18636363c2dcf00334ea8eecfcf333fb",
      "parents": [
        "6a00aac93ada980a08223f61e3021e5c0fcea2b8",
        "661f791a2580515eee5882ab9498aef94a0d33a5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 08 18:50:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 08 18:50:00 2018 +0000"
      },
      "message": "Merge \"Statsd notifies listener with pendingintent.\""
    },
    {
      "commit": "16049578001364e1fcb0f10d6f94868081e57316",
      "tree": "ed3c22c00ead5d9ba9ee4bb8c957ae3f7e5e3b9d",
      "parents": [
        "171951d8e0bc09dc6882b3c97c17dc7ebb7dc636"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Thu Feb 01 18:27:51 2018 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Thu Feb 08 09:59:45 2018 -0800"
      },
      "message": "Modifies statsd output for start and end times.\n\nWe include the start of when the last dump occurred and the current\ntimestamp. These timestamps are shared across all metrics, so\nthere\u0027s no advantage in duplicating these numbers across all metrics.\n\nAlso, we should use elapsed realtime instead of times based on wall\nclock, which can jump around and go backwards.\n\nTest: Test that statsd can still build and\nadb shell cmd stats dump-report doesn\u0027t crash.\nChange-Id: I819e5643cee75dfa3e78a58f94c9d61ededa78d7\n"
    },
    {
      "commit": "661f791a2580515eee5882ab9498aef94a0d33a5",
      "tree": "8d18096fee7aca07d65dc1360decab2e8fddca56",
      "parents": [
        "171951d8e0bc09dc6882b3c97c17dc7ebb7dc636"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Mon Jan 22 17:46:24 2018 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Feb 07 16:16:23 2018 -0800"
      },
      "message": "Statsd notifies listener with pendingintent.\n\nPreviously, statsd would inform interested listeners that it\u0027s time\nto collect data via a protected broadcast. However, the preferred\nsolution is to pass a PendingIntent via a separate setter. Whenever\nstatsd wants the listener to call getData, StatsCompanionService\nwill trigger the pending intent.\n\nTest: Tested in marlin-eng that functionality works as expected with\ndogfood app.\nBug: 72562867\nChange-Id: Ibcfcd5072a1a78947f8a7cbcd0bc429b54351da3\n"
    },
    {
      "commit": "80f9112aecf08845ef0b2b132d721b7ce850970f",
      "tree": "da65af99c55ee8ba03c5844c1d9256f691c515db",
      "parents": [
        "ecc00786d0398283be01981844822bab7154ebb3"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Wed Jan 31 20:24:50 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Wed Feb 07 22:16:50 2018 +0000"
      },
      "message": "Pullers merge isolated process with host\n\nTest: unit test\nChange-Id: Idcb4d19e1f5182554b503c5a35fbde4da146835c\nFix: 72230210\n"
    },
    {
      "commit": "c477d9c0015017ed9a7da0e635699a4bc086461d",
      "tree": "086716d204a40cc7e6031a1477d6401c30946d74",
      "parents": [
        "9d7f2f40110d82f5499b173b555d418b88f6dcf1"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Feb 05 18:31:39 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Wed Feb 07 04:21:59 2018 +0000"
      },
      "message": "Atom: CallStateChanged\n\nAdds CallStateChanged atom, including the state and disconnect cause\n(when the state is disconnected). Makes the constants in CallState.java\n(in packages/services) and DisconnectCause.java reference the proto\nenum.\n\nTest: atest TelecomUnitTests, verified events were received in adb logcat -b stats\nChange-Id: I5c4d91387259fc7349e17551962cb490f5ed9f36\n"
    },
    {
      "commit": "5935d347bdaec62b343fa2d8449613e0fd317063",
      "tree": "c863c1e570c62d41106069e7b0fde4de0a882132",
      "parents": [
        "bca6e66c4d30e5b9f79f381ee1fd1e29a3d36588",
        "afb36062d5e6d36700147226b5776b4ca8abf922"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 07 00:27:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 07 00:27:56 2018 +0000"
      },
      "message": "Merge \"Allow statsd_config be able to set destination value AUTO/EXPLICIT.\""
    },
    {
      "commit": "efdd925057db69b0ce02e45fc5e68543ccd3d051",
      "tree": "a4ce4fd3ce0003a2ecd12062987e924a6130e22b",
      "parents": [
        "db96b0349543d79209a68e6f0bc2b14c103a09f5",
        "fa22d65f146c94873ba98b768b08c643424c4477"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 06 21:42:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 06 21:42:48 2018 +0000"
      },
      "message": "Merge \"puller cache clearing\""
    },
    {
      "commit": "e824c2e161c34d8caa2c4cf4bf73a6d03655e768",
      "tree": "a81f541e705420706a332e59ebf5c3d84b610dac",
      "parents": [
        "043863ac36e18b3a26c66199edee2cc403d92834",
        "bbcbc605fc7507f5607e0fe4716b31c895436a77"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 06 19:30:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 06 19:30:51 2018 +0000"
      },
      "message": "Merge \"split subsystem name + split name into subsystem name and voter name\""
    },
    {
      "commit": "bbcbc605fc7507f5607e0fe4716b31c895436a77",
      "tree": "b99ffadff7bca3e128466468d2c96859bf9e3cbc",
      "parents": [
        "367358ec364d9aca36b305879672f7c26db27469"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Feb 05 16:51:52 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Tue Feb 06 19:19:19 2018 +0000"
      },
      "message": "split subsystem name\n+ split name into subsystem name and voter name\n\nTest: cts test\nChange-Id: Id2baff625acc5bc4ee04d994fa36c7518b18ef3d\nFix: 72967228\n"
    },
    {
      "commit": "afb36062d5e6d36700147226b5776b4ca8abf922",
      "tree": "d1fee6604d94f47a433da34bb15b5ca6dfc61d1c",
      "parents": [
        "d1b99d2544ced280b63ed615c52b6eae74cb328e"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Jan 31 19:14:25 2018 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Tue Feb 06 11:15:09 2018 -0800"
      },
      "message": "Allow statsd_config be able to set destination value AUTO/EXPLICIT.\n\nAlso move incidentd integration to its own files.\nclang-format -style\u003dfile -i src/anomaly/* and src/subscribers/Incidentd*\n\nBug: 70239380\nTest: manual\nChange-Id: I7bfe14d704d9e86d925365a8a21ffed726723e60\n"
    },
    {
      "commit": "fa22d65f146c94873ba98b768b08c643424c4477",
      "tree": "ce7917ed552d5c095154f89e516eb5909c9be363",
      "parents": [
        "043863ac36e18b3a26c66199edee2cc403d92834"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Feb 05 14:37:48 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Tue Feb 06 11:11:46 2018 -0800"
      },
      "message": "puller cache clearing\n\n+ add adb command to manually clear puller cache\n+ try to clear puller cache every 10s\n\nTest: manual test\nChange-Id: I8005cacd189de1880fcaeb030efbe21e6d3c0244\n"
    },
    {
      "commit": "32134a20f1fc4c58845af16b266b2899ac460809",
      "tree": "6fcf9e3b67f4d50d006386ea7408e1dab3b88f30",
      "parents": [
        "fbde6988ac7d51be80e246447da14ea01a345425",
        "27785a8a4a684c831c18f7189a6fa1b98c3573e6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 06 06:16:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 06 06:16:10 2018 +0000"
      },
      "message": "Merge \"Partial buckets on app upgrade and fix duration.\""
    },
    {
      "commit": "a83e22f908be35e2082528d98e984f1a0d6efd51",
      "tree": "d9ca9335a316dfa0b2407c5e8a3415096f718612",
      "parents": [
        "f3f6f000ed075c9be764c7bdc7f294ee11525668",
        "ccfe6455728256157ba36c6786e893f2093017a0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 05 23:44:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 05 23:44:49 2018 +0000"
      },
      "message": "Merge \"Atom and logging for foreground service state changes\""
    },
    {
      "commit": "ccfe6455728256157ba36c6786e893f2093017a0",
      "tree": "20b1ee1b7be0b7a055fc0786954d5c638fa1ac06",
      "parents": [
        "d1b99d2544ced280b63ed615c52b6eae74cb328e"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Tue Jan 30 11:33:21 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Mon Feb 05 13:57:21 2018 -0800"
      },
      "message": "Atom and logging for foreground service state changes\n\nTest: will add cts test\nChange-Id: I6e934b3a2e717f91dd2e5b6edbfe8c721bcf6dac\n\nBug: 72320099\n"
    },
    {
      "commit": "6f1979015883dd32f775b5030b2acb3dc0512911",
      "tree": "43d36123baefc05ee76796fe7c1ce76dbb968727",
      "parents": [
        "7b2354ece2809819255f64b0dd60b108745a5739"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Mon Feb 05 12:30:14 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Mon Feb 05 12:30:14 2018 -0800"
      },
      "message": "Statsd - use AID_STATSD in MetricsManager\n\nMetricsManager needs to know the uid of Statsd. Right now it fetches it,\nbut it is actually a constant that it can access directly.\n\nTest: manual\nChange-Id: I36437136babaf99ecad1fac7c233f7aaf06f380d\n"
    },
    {
      "commit": "3410634f2c6454626b1ec4b11f5b6f036a1141e2",
      "tree": "b5cdf088e89168d046880e4efbad060f0174306f",
      "parents": [
        "00646ee730e93f5971c8a9adaa99c4ce580b2f95"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Feb 02 17:08:05 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Feb 05 11:27:23 2018 -0800"
      },
      "message": "Benchmark: stats_write\n\nbenchmarks how long stats_write takes for boot sequence atom\nresults: I ran it a few times, and the times ranged from ~18-20us on\nmarlin\n\nTest: ran the benchmark test\nChange-Id: I900ef26ce219301a6d43999fe7be5e4875ae5b8a\n"
    },
    {
      "commit": "a46c53100c3d73812d3cb86ad83719cd90e7bbf9",
      "tree": "9ebe9aa7d009df2991c9853b2e66e22eba657000",
      "parents": [
        "0d01987eeffdb741f60de492c8da4f217c4a27a5",
        "e89041951de087df428ca4a367a5c25a531bd039"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 03 01:17:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 03 01:17:42 2018 +0000"
      },
      "message": "Merge \"Add atom and logging for app overlay\""
    },
    {
      "commit": "0d01987eeffdb741f60de492c8da4f217c4a27a5",
      "tree": "74e360021932db3f9826f9ff6b7be82c7ed0df63",
      "parents": [
        "0f919b1814a135af00cc8339d6c23bd78c93d57c",
        "b223c4ecae9a101ef820ad71bf89461b5447a34b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 03 00:59:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 03 00:59:59 2018 +0000"
      },
      "message": "Merge \"Statsd - adb cmd for AppHook; long compare support\""
    },
    {
      "commit": "b223c4ecae9a101ef820ad71bf89461b5447a34b",
      "tree": "90952beb3cfb33bf18784152828296d14ba1c217",
      "parents": [
        "4a740846223aa58af065e2256fb0caa0ce6f9c53"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Thu Feb 01 15:35:04 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Fri Feb 02 14:41:10 2018 -0800"
      },
      "message": "Statsd - adb cmd for AppHook; long compare support\n\n1. Create an adb command for statsd to let the adb user write AppHook to\nthe StatsLog buffer.\nThis can be used in the CTS tests (instead of relying on screen state\nchanges, etc. for conditioning), and for local testing.\n\n2. Fixes the fact that AppHook loggers can spoof uids (they can put\nwhatever uid they want and statsd doesn\u0027t validate it - now it will).\n\n3. Allow FieldValueMatcher to compare longs (not just ints).\n\nFix: 72266788\nFix: 72836157\nFix: 72872130\nFix: 72829733\n\nTest: manually did the adb command.\n\nTest: run cts-dev -m CtsStatsdHostTestCases -t android.cts.statsd.alert.AnomalyDetectionTests\n\nTest: locally modified\nandroid.cts.statsd.alert.BroadcastSubscriberTests#testBroadcastSubscriber\nto have the app attempt both valid and invalid AppHook writes.\n\nChange-Id: I68931a71805bcfa6fe56e7a0a0d3f07290cb78d1\n"
    },
    {
      "commit": "27785a8a4a684c831c18f7189a6fa1b98c3573e6",
      "tree": "dd4bac285defe0f60e912970cf1d0bc606357118",
      "parents": [
        "c326b50fa009be5e30797f37c23ec7fa2c3c29aa"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Fri Jan 19 17:06:45 2018 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Fri Feb 02 13:30:10 2018 -0800"
      },
      "message": "Partial buckets on app upgrade and fix duration.\n\nStatsd will create partial buckets in all metrics producers when an\napp is upgraded so that we can separate metrics between different\nversions of an app. By looking at the uid map changes, we can tell\nwhich app versions belong to a bucket; for metrics that are not\naffected by an app version, we can instead join the buckets together.\n\nTo simplify the logic, the ends of the full buckets are always\naligned to when the metric producers were created. These boundaries\nare computed on the fly by using the bucket number and the metric\nproducers\u0027 start times.\n\nWe keep the anomaly trackers to only be given full buckets; we buffer\nthe partial buckets within each metric producer.\n\nDuration metric\u0027s MAX_SPARSE is fixed to be implemented as such. In\naddition, after further discussion, we find anomaly detection on\nMAX_SPARSE to be unnecessary, so this functionality is removed.\n\nTest: Unit-tests added and modified, passed on marlin-eng.\nChange-Id: I5ff7a9c7f05c406e9faf400c6a39162970ded102\n"
    },
    {
      "commit": "e89041951de087df428ca4a367a5c25a531bd039",
      "tree": "6901b1bcf0f9284fdd1a73327dcfaf7abd5c3e49",
      "parents": [
        "d1af7d8091b487facc91097a35fffa50a1234b25"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Fri Dec 08 19:12:57 2017 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Fri Feb 02 12:05:25 2018 -0800"
      },
      "message": "Add atom and logging for app overlay\n\nTest: will add cts test\nChange-Id: I8573abd8ec920467047fd0db9d9ce22173d84960\n"
    },
    {
      "commit": "c1fe6f469d7559e36c23b4137bf9efe273d9a9f1",
      "tree": "f339a6b758653b8a12f23368a31b85335eb6ebaa",
      "parents": [
        "d1af7d8091b487facc91097a35fffa50a1234b25"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Thu Feb 01 23:14:18 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Fri Feb 02 11:20:12 2018 -0800"
      },
      "message": "fix LogEvent memory leak\n\nTest: manual test\nChange-Id: I16413270cbb06e34eef2612454b8234361a7b173\n"
    },
    {
      "commit": "98b136c915584f7432448b4b1668883c55dea1c3",
      "tree": "2841e6afc7e56093f70b1d9d1a0c8d12a54e214e",
      "parents": [
        "044111b8b38037eae96d70794cdbf3ea81d52b7b",
        "bb8554afda4eb172639300e715c03e4aa4917708"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 02 03:15:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 02 03:15:50 2018 +0000"
      },
      "message": "Merge \"Atom: DaveyOccurred\""
    },
    {
      "commit": "bb8554afda4eb172639300e715c03e4aa4917708",
      "tree": "a3290ae802f8890bf386698442dac0ec1ed63834",
      "parents": [
        "00646ee730e93f5971c8a9adaa99c4ce580b2f95"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Jan 26 11:59:14 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Thu Feb 01 16:34:55 2018 -0800"
      },
      "message": "Atom: DaveyOccurred\n\nAtom for davey occurred\n\nTest: cts test accompanying \u0026\u0026 statsd unit tests \u0026\u0026 hwui unit tests\nChange-Id: I715ac213b09ef2b3ef1de75bc456a5edf7e0a244\n"
    },
    {
      "commit": "ad73f4132971bae88fec975bdf41ebd3103aa1e6",
      "tree": "3cd37eceeda4a1d0af5bac593a3c0f47f1d3fc87",
      "parents": [
        "e800fd8e0f0c146ec3e98da98b3011cecf11471c",
        "e72252b6886096eef308164b830fe84dd3c6c01d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 01 23:58:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 01 23:58:36 2018 +0000"
      },
      "message": "Merge \"Add command to clear puller cache\""
    },
    {
      "commit": "4d41f291273710cfe0f33ed04c962c964308c5b4",
      "tree": "622c42579ea6931cd818d994dbff10df15c45551",
      "parents": [
        "7902b4a1b222cac1f60125de93a1ab30a0b7523f",
        "bf972d99a9ee383b984137c49ad45a17df0c73d2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 01 22:32:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 01 22:32:06 2018 +0000"
      },
      "message": "Merge \"Atom: Remaining and full battery capacity\""
    },
    {
      "commit": "e72252b6886096eef308164b830fe84dd3c6c01d",
      "tree": "632fa7d5562b42b9ee57f32d4839c66b5325956c",
      "parents": [
        "731f9fa6b3ab28c48d3f8a29b2a16d9ca85c44e8"
      ],
      "author": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Thu Feb 01 13:19:35 2018 -0800"
      },
      "committer": {
        "name": "Chenjie Yu",
        "email": "cjyu@google.com",
        "time": "Thu Feb 01 13:22:27 2018 -0800"
      },
      "message": "Add command to clear puller cache\n\nTest: manual test\nChange-Id: Id1fa48b5a6f2200d22f4a746763f65d0c8d65f72\n"
    },
    {
      "commit": "44b261f372ddb9d5b8a420f64ee3de99f17694d2",
      "tree": "850f9f021645902915c280d086613a4eefd9ca73",
      "parents": [
        "468dc714394f761760328841de0459c345d6aa3e",
        "9086762d565aa9fd92b306cd61c892038bef64fc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 01 20:37:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 01 20:37:29 2018 +0000"
      },
      "message": "Merge \"Use statsd constants instead of literals\""
    },
    {
      "commit": "0d3813e3dab0d9117bee3ca23fab3d1daf9fb72a",
      "tree": "3d7bce063bb5bacefc8882e1c48bb30ba96b113f",
      "parents": [
        "52c0747408b83c3151b9e2bdba363e378664d159",
        "9369446f0b04945d6674550728ae81196d6fb5c2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 01 17:18:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 01 17:18:37 2018 +0000"
      },
      "message": "Merge \"Support dimension in condition in metric producers.\""
    },
    {
      "commit": "bf972d99a9ee383b984137c49ad45a17df0c73d2",
      "tree": "f894070823f376977100cdb0499e5e75f6dd8350",
      "parents": [
        "00646ee730e93f5971c8a9adaa99c4ce580b2f95"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Wed Jan 10 20:51:13 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Wed Jan 31 17:27:50 2018 -0800"
      },
      "message": "Atom: Remaining and full battery capacity\n\nAdd pulled remaining battery capacity and full battery capacity atoms.\n\nTest: cts test accompanies\nChange-Id: I0f09e9459b56e25cc3ac21e1a5e781daadea0a01\n"
    },
    {
      "commit": "9086762d565aa9fd92b306cd61c892038bef64fc",
      "tree": "f644b017a024fe560570e43414767eb240e9d2e4",
      "parents": [
        "75ca5dff32daf886a09060d2ae4696e162f73a22"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Wed Jan 31 15:05:57 2018 -0800"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Wed Jan 31 17:02:20 2018 -0800"
      },
      "message": "Use statsd constants instead of literals\n\nInstead of writing StatsLog.write(StatsLog.NAME, 1), we replace the 1\nwith the appropriate StatsLog constant.\n\nBug: 72749863\nTest: still compiles\n\nChange-Id: I68c8206de49df7e77ee66333dd633e4b70c7b226\n"
    },
    {
      "commit": "725aafb8dc58116627ae5e19cbcbedc410503a22",
      "tree": "d687bc01a74863cc1ab6cd0ecea38346001cb9a2",
      "parents": [
        "64dd7468f3027ddd8563b6f9d8ac3b13b5ff78b0",
        "6d6619a44e3f2439bfddaca411a301b2c3324059"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Jan 31 17:31:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 31 17:31:46 2018 +0000"
      },
      "message": "Merge \"Make statsd dogfood app to be a system app.\""
    },
    {
      "commit": "d11df1d76fb396f5f367d05f1b31052bf332e913",
      "tree": "e073a8155690b97f00c09c469be7ae51e205c519",
      "parents": [
        "ef64f6580f9f86124c2e9eaa3b1888a591f18e20",
        "6483ea4e0a52a4cdae724344973b4f7b0927b02e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 31 04:24:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 31 04:24:54 2018 +0000"
      },
      "message": "Merge \"Atom: BootSequenceReported\""
    },
    {
      "commit": "b78bb44a87db5788a946434195483c92e3410064",
      "tree": "907e69c146c9670d7169f939953fa964cbdbc9bb",
      "parents": [
        "b43b7c01524ba4c3aefbc7e4a25bd5f25c4812e2",
        "1ea4289b4d7c0feaa2a0d495d6a2266b0816bc72"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 31 02:05:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 31 02:05:26 2018 +0000"
      },
      "message": "Merge \"Atom: Shutdown sequence event\""
    },
    {
      "commit": "6d6619a44e3f2439bfddaca411a301b2c3324059",
      "tree": "977d4fecff384725514343810200c767116e7f02",
      "parents": [
        "e939aa7b9208665ddff9ea831181081f0e57167e"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Jan 30 15:50:54 2018 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Jan 30 15:53:15 2018 -0800"
      },
      "message": "Make statsd dogfood app to be a system app.\n\nAnd update the baseline config.\n\nBug: 72710440\nTest: manual\nChange-Id: Icc37d1d688d3788e9c9e98a594b9532889ffeea9\n"
    },
    {
      "commit": "9369446f0b04945d6674550728ae81196d6fb5c2",
      "tree": "6d333c7fb29ce69e4262b37eab21daee75d03ccb",
      "parents": [
        "321ef3a5afb4cb9a9b47c5e028b43261b4fc8370"
      ],
      "author": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Mon Jan 22 20:49:31 2018 -0800"
      },
      "committer": {
        "name": "Yangster-mac",
        "email": "yanglu@google.com",
        "time": "Tue Jan 30 13:33:57 2018 -0800"
      },
      "message": "Support dimension in condition in metric producers.\n\nTest: added e2e tests for count/duration metrics sliced by fields in condition and with/without links.\n\nChange-Id: Ie34deba68e6780abdde458be3f0ce5284e76a1a2\n"
    },
    {
      "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": "6483ea4e0a52a4cdae724344973b4f7b0927b02e",
      "tree": "bf9858f61829535fd32274d1895983a523391a98",
      "parents": [
        "1ea4289b4d7c0feaa2a0d495d6a2266b0816bc72"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Thu Jan 25 17:45:49 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Jan 29 19:26:57 2018 -0800"
      },
      "message": "Atom: BootSequenceReported\n\nUpdate to atoms.proto to include boot sequence reported\n\nTest: manual\nChange-Id: Ie6b7021528ef81b95969ae90f130f5f0ad0eb9a5\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": "1ea4289b4d7c0feaa2a0d495d6a2266b0816bc72",
      "tree": "4fb601fb1569f6474f1472dc7490fbe9861b2828",
      "parents": [
        "af2397da51fbb83cef7a42547f2cb0efdcda417b"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Jan 19 09:27:00 2018 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Jan 29 10:35:51 2018 -0800"
      },
      "message": "Atom: Shutdown sequence event\n\nRecords start and duration of shutdown, along with reason and if it was\na reboot.\n\nTest: manually verified statsd received atom. CTS test for this will be\ndifficult, and I will investigate further later.\n\nChange-Id: I0f6b595e0e251fd0a8b38127182d055885460a55\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": "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": "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\""
    }
  ],
  "next": "884c8c130fde0d02ada1316f7c27f0f55e7e48b9"
}
