)]}'
{
  "log": [
    {
      "commit": "f580fe57991f0fef9ac058040e813eeb16876af2",
      "tree": "1cbfef392d0baf573449bd9581091db0afc9443f",
      "parents": [
        "1c77579a06c279d158eb2bb084151fb395e1bb23"
      ],
      "author": {
        "name": "Andrew Walbran",
        "email": "qwandor@google.com",
        "time": "Fri Jul 21 19:13:48 2023 +0100"
      },
      "committer": {
        "name": "Andrew Walbran",
        "email": "qwandor@google.com",
        "time": "Fri Jul 21 19:13:48 2023 +0100"
      },
      "message": "Add safety comments.\n\nThese will soon be required by a lint.\n\nBug: 290018030\nTest: m rust\nChange-Id: I0b25bcaa18d167fb9c2d63e637833d4935dc8ff4\n"
    },
    {
      "commit": "0de2195738cf608c2e051c7912ca4c97d4400734",
      "tree": "5a1cc57c55c8f093252504655084b2f0d442bd03",
      "parents": [
        "f43e20c9b4010ee8c5056bf6ab27e789a769e51b"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Thu Jun 29 15:05:44 2023 -0700"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Wed Jul 12 08:58:02 2023 -0700"
      },
      "message": "Migrate gettid to GetThreadId\n\nBug: 289414897\nTest: it builds\nChange-Id: If1214a181d4e9a193adf1bac0d35e7e3ac6c27db\n"
    },
    {
      "commit": "dee32db2491a44e8d12f9f45faefe4ec1ab29156",
      "tree": "c151b987fa8f8e90ddcf7c6dc604ccea4491e842",
      "parents": [
        "b41cd681aacc595718b025ea895f889d6848a0cf"
      ],
      "author": {
        "name": "Matthew Maurer",
        "email": "mmaurer@google.com",
        "time": "Mon Jun 26 22:27:09 2023 +0000"
      },
      "committer": {
        "name": "Matthew Maurer",
        "email": "mmaurer@google.com",
        "time": "Mon Jun 26 22:27:09 2023 +0000"
      },
      "message": "Bindgen 0.65.1 no longer supports size_t-is-usize\n\nThe flag has been a default, and now is not accepted.\n\nTest: Treehugger, m rust\nBug: 279198502\nBug: 276464273\nChange-Id: Ifdf9968bfcdb278f73cf31ab68bc6b488b39436b\n"
    },
    {
      "commit": "c246440dc5b12d68cf63bf6e4fa0ea02af7c4247",
      "tree": "6fb33c7087a9835308cee54f5852e25cd9a6e2b0",
      "parents": [
        "b634c6f5276c9a1c1a39cd098f14946cd51c7a1b"
      ],
      "author": {
        "name": "Vova Sharaienko",
        "email": "sharaienko@google.com",
        "time": "Thu Mar 23 20:52:49 2023 +0000"
      },
      "committer": {
        "name": "Vova Sharaienko",
        "email": "sharaienko@google.com",
        "time": "Fri Mar 24 21:39:53 2023 +0000"
      },
      "message": "[TeX] Introduced Telemetry Express Logging APIs\n\n- provided C++ Histogram metric logging API with UID\n\nBug: 266586106\nTest: m\nChange-Id: I2ee92d423be5f9c137fa160d8c744340972f8036\n"
    },
    {
      "commit": "d94d7f6e20d4f91813c42b900eec4368dd582b1a",
      "tree": "bca2b2af6d5314c3433e01f682cd98dd262d21f0",
      "parents": [
        "3feefa8b1727d700feb0ff38fe65efff76ae853b"
      ],
      "author": {
        "name": "Vova Sharaienko",
        "email": "sharaienko@google.com",
        "time": "Fri Mar 17 17:41:49 2023 +0000"
      },
      "committer": {
        "name": "Vova Sharaienko",
        "email": "sharaienko@google.com",
        "time": "Sat Mar 18 06:25:47 2023 +0000"
      },
      "message": "[TeX] Introduced Telemetry Express Logging APIs\n\n- provided C++ Counter metric logging API with UID\n\nBug: 262791247\nTest: m\nChange-Id: I438bccc9e096ce3c0d7f6cdcb70e787b6ef44983\n"
    },
    {
      "commit": "8ba8b353ca1bc838428fa0637be11d131ca637c7",
      "tree": "c9166b4855ef13696ee5d36a60123d065e85eae5",
      "parents": [
        "d35f56b199866e17f5dc7f3341a9e3b0f0ebd1f7"
      ],
      "author": {
        "name": "Vova Sharaienko",
        "email": "sharaienko@google.com",
        "time": "Sat Feb 11 02:06:37 2023 +0000"
      },
      "committer": {
        "name": "Vova Sharaienko",
        "email": "sharaienko@google.com",
        "time": "Sat Feb 11 03:27:08 2023 +0000"
      },
      "message": "[TeX] Improved readability for Histogram metric APIs\n\nBug: 268161449\nTest: atest expresslog_test\nChange-Id: Idd83ca6ec47288ca6ef7ecce333ceb3c88dd761a\n"
    },
    {
      "commit": "75f860033cf928b16f38773f5aaa41063e49ff8f",
      "tree": "e30c82659729f52f2109b844d1cd5fa17b371ad5",
      "parents": [
        "22387708fc844116b0d649b1c02718f01b988568"
      ],
      "author": {
        "name": "Vova Sharaienko",
        "email": "sharaienko@google.com",
        "time": "Thu Feb 09 01:51:07 2023 +0000"
      },
      "committer": {
        "name": "Vova Sharaienko",
        "email": "sharaienko@google.com",
        "time": "Thu Feb 09 21:21:33 2023 +0000"
      },
      "message": "[TeX] Introduced Telemetry Express Histogram metric Native API\n\n- added support C++ TeX Histogram logging API\n\nBug: 268161449\nTest: atest expresslog_test\nChange-Id: I284c6ceab42208dc9432fe3887c9ac000028d072\n"
    },
    {
      "commit": "3aaf79bea41de14a1ef6a726c4d094d66d6c74ce",
      "tree": "7d04261067f753ee1b95e60cb899cb3326354522",
      "parents": [
        "d5d01db888f9726713cd8565a94bade9bdf665b4"
      ],
      "author": {
        "name": "Vova Sharaienko",
        "email": "sharaienko@google.com",
        "time": "Fri Jan 13 20:51:30 2023 +0000"
      },
      "committer": {
        "name": "Vova Sharaienko",
        "email": "sharaienko@google.com",
        "time": "Wed Jan 18 04:36:20 2023 +0000"
      },
      "message": "[TeX] Introduced Telemetry Express Native Logging Library\n\n- added support C++ TeX Counter logging API\n\nBug: 258868665\nTest: build\nChange-Id: I86ae4335c89196708d4174dd5613ddc89622b17c\n"
    },
    {
      "commit": "8044045a1ecf2afae948a9877341b1ea372f2a80",
      "tree": "dbb6b227ff430889128e8e06cc2a8e504808cfb5",
      "parents": [
        "b2d8315f10b242daf604c24a5f1e8007b13f86fe"
      ],
      "author": {
        "name": "Wayne Ma",
        "email": "waynema@google.com",
        "time": "Wed Sep 28 15:23:04 2022 +0800"
      },
      "committer": {
        "name": "Wayne Ma",
        "email": "waynema@google.com",
        "time": "Wed Oct 05 00:54:47 2022 +0800"
      },
      "message": "Make libstatspull_bindgen available to resolv apex.\n\nTest: m successed\nChange-Id: Ia367ab5a87794c82238291b27a783278f319e767\n"
    },
    {
      "commit": "b68f8a12fd81bf5c61f97de543820b4e3a0ce1b3",
      "tree": "64f38c4f95cdff41fdd081802774bbafce5841ea",
      "parents": [
        "2e007e039b81316feb05b05751d89364ab9f4c53"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Wed Aug 10 19:50:29 2022 +0000"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Wed Aug 10 19:50:31 2022 +0000"
      },
      "message": "Promote HWASan tests to presubmit.\n\nThey have been passing and do not show significant slowdown.\n\nChange-Id: Ie187af5af5defc4738a93140ed840e4a4cd48f55\n"
    },
    {
      "commit": "132a2b26b93d021d8b3cf53686ab0bb7a00b1bc5",
      "tree": "cfe7ba5e27bdc7f3167e7b20de7b38b942081855",
      "parents": [
        "ef46fe4e2b5f1909b9e9a4ae66f70a859211d1d6"
      ],
      "author": {
        "name": "Matthew Maurer",
        "email": "mmaurer@google.com",
        "time": "Fri Jul 29 09:06:38 2022 -0700"
      },
      "committer": {
        "name": "Matthew Maurer",
        "email": "mmaurer@google.com",
        "time": "Fri Jul 29 09:06:38 2022 -0700"
      },
      "message": "rust: Visibility exports for bindgen\n\nWe are now default restricting bindgen visibility to subpackages. This\nchange is part of a set of changes adding explicit visibility for\nbindgen libraries which are already being used elsewhere.\n\n* If these visibility rules are to allow access by the safe bindings\n  library which lives elsewhere in the codebase, no action is needed.\n* If safe bindings do not exist, and you own this library, now is a good\n  time to think about producing them and transitioning your (now\n  enumerated) client list.\n* If safe bindings exist, but there is a surprise client of the raw\n  bindings on this list, now is a good time to talk to them about why\n  they don\u0027t want to use your safe bindings.\n\nBug: 166332519\nTest: m\nChange-Id: I1320a72d61cf0d760da3e037dec6ad35c8c979f8\n"
    },
    {
      "commit": "d82c4e71c96dbb82a7c7c25281760ee958afecbe",
      "tree": "fad76ecc3ecddd732fefba84e6f78b26727ce4a4",
      "parents": [
        "8874ad637838e96ac8766ace6a4abf4f7afc478a"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Jun 22 16:57:55 2022 +0800"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Jun 22 16:59:22 2022 +0800"
      },
      "message": "Rewrite function declarators without prototypes\n\nThis syntax is removed in C2x proposal N2841.\n\nTest: presubmit\nChange-Id: I3b067023327ed22dffda698c5f1accde60d95839\n"
    },
    {
      "commit": "4dd9529e2bb32415968e375df3706bd519930e7e",
      "tree": "40af281992c9e05d2ef05ca72c693ea320b9210e",
      "parents": [
        "37a5303642a7779c80f236e54bcbb61c6419b55b"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon May 09 22:42:45 2022 +0000"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Mon May 09 22:42:47 2022 +0000"
      },
      "message": "Promote HWASan tests to presubmit.\n\nThey have been passing and do not show significant slowdown.\n\nChange-Id: I130335423a2e111fb8cede493ce5c7449d4907ef\n"
    },
    {
      "commit": "96c9b1f423c88be31cf63b0b02224a4399854de3",
      "tree": "9062fe029e2d7abd21670cd72b20231ebe370c92",
      "parents": [
        "64f953e287310a89c21506ef3ecbea74057c53eb"
      ],
      "author": {
        "name": "Chris Wailes",
        "email": "chriswailes@google.com",
        "time": "Tue Apr 19 17:25:32 2022 -0700"
      },
      "committer": {
        "name": "Chris Wailes",
        "email": "chriswailes@google.com",
        "time": "Tue Apr 19 17:25:32 2022 -0700"
      },
      "message": "Fix lints from Rust 1.60.0\n\nBug: 222737227\nTest: m rust\nChange-Id: Idd2c37516565950d82781b5cb05095548368d5fd\n"
    },
    {
      "commit": "3a99e7d2c47c330eb67f7e0ab5800c09c6bcc7b6",
      "tree": "bc64709b540ae3452b7b2f4651cd254b12652345",
      "parents": [
        "5d2c849c734c49c23e2ef5d1d61b5348bf9b2c8e",
        "f7be3cc3acbf4299274412d5048486dd949ea4fe"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Sat Mar 19 00:15:53 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 19 00:15:53 2022 +0000"
      },
      "message": "Merge \"Add socket_lazy to hwasan-postsubmit\""
    },
    {
      "commit": "f7be3cc3acbf4299274412d5048486dd949ea4fe",
      "tree": "df41231c55e704a83867c3d1a6cfc50b287b7839",
      "parents": [
        "81cc9d986f2ce6d9e0351ee2d80edfb6bb71953d"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Mar 18 14:30:56 2022 -0700"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Mar 18 21:31:30 2022 +0000"
      },
      "message": "Add socket_lazy to hwasan-postsubmit\n\nTest: Run tests under HWASan.\nBug: 193568145\nChange-Id: I395ebdecd5c98d1b669fc34270d5081a12076fef\n"
    },
    {
      "commit": "84f39e5728df5ff3d1ab04a2d8e50c2bde146130",
      "tree": "508eb39505793137147d51e51ea94be17be38752",
      "parents": [
        "81cc9d986f2ce6d9e0351ee2d80edfb6bb71953d"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Mar 18 14:30:44 2022 -0700"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Mar 18 21:31:09 2022 +0000"
      },
      "message": "Add pull_lazy to hwasan-postsubmit\n\nTest: Run tests under HWASan.\nBug: 193568145\nChange-Id: I3f9ebeebcfd1b69651731130ab22638dd1f218cf\n"
    },
    {
      "commit": "03ac66e640ade2c495052b4937c080aedf607e42",
      "tree": "7d05193c5001ac8211320e9a187e049c17a31467",
      "parents": [
        "4915f0416598b29b98b352a7b5f2982f2c035f6c"
      ],
      "author": {
        "name": "Shikha Panwar",
        "email": "shikhapanwar@google.com",
        "time": "Wed Dec 08 12:11:40 2021 +0000"
      },
      "committer": {
        "name": "Shikha Panwar",
        "email": "shikhapanwar@google.com",
        "time": "Fri Jan 14 10:29:51 2022 +0000"
      },
      "message": "Make libstatspull_bindgen available to virt apex.\n\nThe library is required to log the atoms from virt apex. See bug for more details\nTest: m succeeded. The whole topic is tested with statsd_testdrive 409\nas mentioned in go/westworld-create-atom#step-3-test-your-atom\n\nChange-Id: If8b13c9d1878265bfcb8e09fc1bd8e78e968f71f\n"
    },
    {
      "commit": "ff863caa615d98485f2d9c877a951d0e113c9ca5",
      "tree": "88bd39241a26ee27c3d4c618384d4a14ccf93e68",
      "parents": [
        "e8e5b5bb28a80cdfd296fe86f38dd7b089ef1f30"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Thu Nov 18 16:39:26 2021 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Dec 13 19:18:21 2021 -0800"
      },
      "message": "Create manager lib for StatsBootstrapAtomService\n\nManages binder lifecycle \u0026 provides interfaces for the underlying IPCs.\nCallers can use StatsBootstrapAtomClient::reportBootstrapAtom. Under the\nhood, we use checkService, which will not wait for the service. This is\nso we avoid blocking the client. If StatsBootstrapAtomService is not\navailable, the log will be dropped, and false will be returned.\n\nTest: manually verified atoms could be logged to statsd\nBug: 206644307\nChange-Id: I63ae62f1ce4d1dc337f99c9e3b35b2496131c582\n"
    },
    {
      "commit": "30d4ab616770e806ba79e9acc9665fd4bfcf31ad",
      "tree": "d688382f8f4c422c624eb3cc97aa718a6df8522b",
      "parents": [
        "c1c2b4f8168c4683dcd94fef13d7abf0f7a6abf1"
      ],
      "author": {
        "name": "Joel Galenson",
        "email": "jgalenson@google.com",
        "time": "Mon Aug 23 13:46:03 2021 -0700"
      },
      "committer": {
        "name": "Joel Galenson",
        "email": "jgalenson@google.com",
        "time": "Mon Aug 23 13:46:03 2021 -0700"
      },
      "message": "Add bindgen bindings test\n\nNote that this is currently a no-op test that does nothing.  But this\nmakes it future proof in case we add more later.\n\nTest: atest\nChange-Id: I23817febd2122f54c40958541fc66363d38b60ca\n"
    },
    {
      "commit": "02a83245ef714dd65a85d6bbd16aa299e46e277c",
      "tree": "9db0bd4ef7537e6ad0bf6da76212760273280cef",
      "parents": [
        "8711f7283552ec28e3e06f1c9a8f4b83e7265225"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 20 15:22:02 2021 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Apr 20 15:22:02 2021 -0700"
      },
      "message": "Use libgtest_prod_headers.\n\nBug: http://b/185916167\nTest: treehugger\nChange-Id: I9ece5926944b8c881e3a117cda2c99281c59b61e\n"
    },
    {
      "commit": "b453e63715ca016f08ddac3fea23d94c77a49d10",
      "tree": "122d0625ef1d7dd32e16a906a97fe942bf4841a1",
      "parents": [
        "4a3ab034c6bd435c1e2134d7164945d3f085f120"
      ],
      "author": {
        "name": "Joel Galenson",
        "email": "jgalenson@google.com",
        "time": "Mon Apr 19 09:15:01 2021 -0700"
      },
      "committer": {
        "name": "Joel Galenson",
        "email": "jgalenson@google.com",
        "time": "Mon Apr 19 09:15:01 2021 -0700"
      },
      "message": "Use the new more inclusive command-line options.\n\nTest: Compile\nChange-Id: I31a33d5432470fb57edc17751536fe1ae98e6838\n"
    },
    {
      "commit": "8c2fe15b47ab9ab2ee818c5dfa822a1b59034e7b",
      "tree": "1258c78053be53ef8cba2b5f8058e7f63717e551",
      "parents": [
        "0cf8af68606798aa5264eb70e63563061e7db007"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Apr 06 17:46:33 2021 -0700"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Apr 06 17:46:33 2021 -0700"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to system/core\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  libstats/pull_rust/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: I362f72ab99850558ddc7b50108c1ec6a212cb258\n"
    },
    {
      "commit": "559379ea580faad588a3c2d22c1de1d255dd7485",
      "tree": "18b4f6b223c25bb0f101efb84b1d9dfd444b3c45",
      "parents": [
        "2686ce88a72cb16453e44478570cc22f8b4da415"
      ],
      "author": {
        "name": "Joel Galenson",
        "email": "jgalenson@google.com",
        "time": "Tue Mar 30 13:36:47 2021 -0700"
      },
      "committer": {
        "name": "Joel Galenson",
        "email": "jgalenson@google.com",
        "time": "Wed Mar 31 14:41:24 2021 -0700"
      },
      "message": "Add Rust interface for the pull API.\n\nTest: Manually run statsd_testdrive\nChange-Id: Ib2e99ddbd60d054189caac712e0ae5438045f0bc\n"
    },
    {
      "commit": "576104304d80cef22efc5cc2c461c75d6b414ec8",
      "tree": "74c37fe15e11fb79d76eb62f041cfbdeff1c25e0",
      "parents": [
        "d13478ef14338071116975d5a2fe20ea135e2dcd"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Wed Mar 17 12:59:19 2021 -0700"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Wed Mar 17 12:59:19 2021 -0700"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to system/core\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  libstats/pull_lazy/Android.bp\n  libstats/socket_lazy/Android.bp\n  trusty/utils/acvp/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: I33005150521238b61d1a8c923749b17d36bba693\n"
    },
    {
      "commit": "c9c6cc04bfd170855135f2ee0f68ea8b637535be",
      "tree": "ec14ee94d8dbbbda32390c8c33f2900064073cca",
      "parents": [
        "f9d87bd36fed80800dade349fc9583e8bdf5a383"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Wed Mar 10 22:09:24 2021 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Mar 15 20:38:28 2021 -0700"
      },
      "message": "Create libstatspull_lazy\n\nAdd lazy loading support to libstatspull.\n\nThere are a few clients (surfaceflinger, bootanimation dependencies)\nthat run before the statsd apex is mounted and cannot link\nlibstatspull.so when the process starts. Lazy loading will load the\nlibrary when the apis to set/clear callbacks or create PullAtomMetadata\nget called.\n\nThis change is modeled heavily off of aosp/1570701, which added\nlibnativehelper_lazy.\n\nBug: 178480419\nTest: atest libstatspull_lazy_test\n\nChange-Id: I9956f5a690aec8c7ff9f0834a3f36387e5d8b23f\n"
    },
    {
      "commit": "f9d87bd36fed80800dade349fc9583e8bdf5a383",
      "tree": "bfdd7edb2ab5bbb1dfa2d4342a1c4a3b35b3a37b",
      "parents": [
        "1d9764209f344005c5a6efeb069a0924c87b1fb5"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Tue Mar 09 21:53:02 2021 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Mar 15 20:27:56 2021 -0700"
      },
      "message": "Create libstatssocket_lazy\n\nAdd lazy loading support to libstatssocket.\n\nThere are many clients of libstatssocket (lmkd, surfaceflinger,\nbootanimation dependencies) that run before the statsd apex is mounted\nand cannot link libstatssocket.so when the process starts. Lazy loading\nwill load the library when the logging apis get called.\n\nThis change is modeled heavily off of aosp/1570701, which added\nlibnativehelper_lazy.\n\nBug: 178480419\nTest: atest libstatssocket_lazy_test\nChange-Id: I57e6f698ad43dddc98dc787ba2fe888030c8a282\n"
    },
    {
      "commit": "d69ad69a938a27021adfcc2435dc1fd2ad0c8e1a",
      "tree": "184b620c9b0cddc4b15efa718ddc3961d2ce3d64",
      "parents": [
        "d57652f15b078d06d9258094f8a951374a677f2c"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 16 19:02:14 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 19 12:59:05 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to system/core\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  bootstat/Android.bp\n  cli-test/Android.bp\n  code_coverage/Android.bp\n  cpio/Android.bp\n  debuggerd/crasher/Android.bp\n  debuggerd/proto/Android.bp\n  diagnose_usb/Android.bp\n  fs_mgr/libdm/Android.bp\n  fs_mgr/libfiemap/Android.bp\n  fs_mgr/liblp/Android.bp\n  fs_mgr/libsnapshot/Android.bp\n  fs_mgr/libstorage_literals/Android.bp\n  fs_mgr/libvbmeta/Android.bp\n  fs_mgr/tests/Android.bp\n  fs_mgr/tools/Android.bp\n  gatekeeperd/Android.bp\n  healthd/Android.bp\n  healthd/testdata/Android.bp\n  init/Android.bp\n  init/Android.mk\n  init/sysprop/Android.bp\n  init/test_kill_services/Android.bp\n  init/test_service/Android.bp\n  libappfuse/Android.bp\n  libasyncio/Android.bp\n  libbinderwrapper/Android.bp\n  libcrypto_utils/Android.bp\n  libcrypto_utils/tests/Android.bp\n  libdiskconfig/Android.bp\n  libgrallocusage/Android.bp\n  libkeyutils/mini_keyctl/Android.bp\n  libmodprobe/Android.bp\n  libnetutils/Android.bp\n  libpackagelistparser/Android.bp\n  libprocessgroup/Android.bp\n  libprocessgroup/cgrouprc/Android.bp\n  libprocessgroup/cgrouprc_format/Android.bp\n  libprocessgroup/profiles/Android.bp\n  libprocessgroup/setup/Android.bp\n  libqtaguid/Android.bp\n  libsparse/Android.bp\n  libstats/push_compat/Android.bp\n  libsuspend/Android.bp\n  libsync/Android.bp\n  libsystem/Android.bp\n  libsysutils/Android.bp\n  libusbhost/Android.bp\n  libutils/Android.bp\n  libvndksupport/Android.bp\n  libvndksupport/tests/Android.bp\n  llkd/Android.bp\n  llkd/tests/Android.bp\n  property_service/libpropertyinfoparser/Android.bp\n  property_service/libpropertyinfoserializer/Android.bp\n  property_service/property_info_checker/Android.bp\n  qemu_pipe/Android.bp\n  reboot/Android.bp\n  rootdir/Android.bp\n  rootdir/Android.mk\n  rootdir/avb/Android.bp\n  rootdir/avb/Android.mk\n  run-as/Android.bp\n  sdcard/Android.bp\n  set-verity-state/Android.bp\n  shell_and_utilities/Android.bp\n  storaged/Android.bp\n  toolbox/Android.bp\n  trusty/apploader/Android.bp\n  trusty/confirmationui/Android.bp\n  trusty/confirmationui/fuzz/Android.bp\n  trusty/coverage/Android.bp\n  trusty/fuzz/Android.bp\n  trusty/fuzz/test/Android.bp\n  trusty/gatekeeper/Android.bp\n  trusty/gatekeeper/fuzz/Android.bp\n  trusty/keymaster/Android.bp\n  trusty/keymaster/fuzz/Android.bp\n  trusty/libtrusty/Android.bp\n  trusty/libtrusty/tipc-test/Android.bp\n  trusty/secure_dpu/Android.bp\n  trusty/storage/interface/Android.bp\n  trusty/storage/lib/Android.bp\n  trusty/storage/proxy/Android.bp\n  trusty/storage/tests/Android.bp\n  trusty/utils/spiproxyd/Android.bp\n  trusty/utils/trusty-ut-ctrl/Android.bp\n  usbd/Android.bp\n  watchdogd/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  debuggerd/Android.bp\n  fastboot/Android.bp\n  libkeyutils/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT\nto:\n  libcutils/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\nto:\n  fs_mgr/Android.bp\n  fs_mgr/libfs_avb/Android.bp\n  trusty/Android.bp\n  trusty/utils/rpmb_dev/Android.bp\n\nAdded SPDX-license-identifier-BSD\nto:\n  fastboot/fuzzy_fastboot/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: Id740a7d2884556081fdb68876584b25eb95e1bef\n"
    },
    {
      "commit": "c3a206ccda9a78dd45d06b7d68dbe83e1fba779e",
      "tree": "cd137e76557bf1aadffe3cb43e02ab642bc81c71",
      "parents": [
        "187b7d19504ca8bdcbc6217c06a117017b4c6287"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 16 20:01:20 2021 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 16 20:01:20 2021 +0000"
      },
      "message": "Revert \"[LSC] Add LOCAL_LICENSE_KINDS to system/core\"\n\nThis reverts commit 187b7d19504ca8bdcbc6217c06a117017b4c6287.\n\nReason for revert: system/core is multiple projects, not one.\n\nChange-Id: I790ea41741f8cd9b8b6db2f59a49e71fb0958fd6\n"
    },
    {
      "commit": "187b7d19504ca8bdcbc6217c06a117017b4c6287",
      "tree": "0656ad03ff6e56b17ab0d4a8677955cab2c16cba",
      "parents": [
        "83eae36647eef27b75b128c5bce4732229d2ca0d"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 12 17:48:16 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Tue Feb 16 04:10:03 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to system/core\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  bootstat/Android.bp\n  cli-test/Android.bp\n  code_coverage/Android.bp\n  cpio/Android.bp\n  debuggerd/crasher/Android.bp\n  debuggerd/proto/Android.bp\n  diagnose_usb/Android.bp\n  fs_mgr/libdm/Android.bp\n  fs_mgr/libfiemap/Android.bp\n  fs_mgr/liblp/Android.bp\n  fs_mgr/libsnapshot/Android.bp\n  fs_mgr/libstorage_literals/Android.bp\n  fs_mgr/libvbmeta/Android.bp\n  fs_mgr/tests/Android.bp\n  fs_mgr/tools/Android.bp\n  gatekeeperd/Android.bp\n  healthd/Android.bp\n  healthd/testdata/Android.bp\n  init/Android.bp\n  init/Android.mk\n  init/sysprop/Android.bp\n  init/test_kill_services/Android.bp\n  init/test_service/Android.bp\n  libappfuse/Android.bp\n  libasyncio/Android.bp\n  libbinderwrapper/Android.bp\n  libcrypto_utils/Android.bp\n  libcrypto_utils/tests/Android.bp\n  libdiskconfig/Android.bp\n  libgrallocusage/Android.bp\n  libkeyutils/mini_keyctl/Android.bp\n  libmodprobe/Android.bp\n  libnetutils/Android.bp\n  libpackagelistparser/Android.bp\n  libprocessgroup/Android.bp\n  libprocessgroup/cgrouprc/Android.bp\n  libprocessgroup/cgrouprc_format/Android.bp\n  libprocessgroup/profiles/Android.bp\n  libprocessgroup/setup/Android.bp\n  libqtaguid/Android.bp\n  libsparse/Android.bp\n  libstats/push_compat/Android.bp\n  libsuspend/Android.bp\n  libsync/Android.bp\n  libsystem/Android.bp\n  libsysutils/Android.bp\n  libusbhost/Android.bp\n  libutils/Android.bp\n  libvndksupport/Android.bp\n  libvndksupport/tests/Android.bp\n  llkd/Android.bp\n  llkd/tests/Android.bp\n  property_service/libpropertyinfoparser/Android.bp\n  property_service/libpropertyinfoserializer/Android.bp\n  property_service/property_info_checker/Android.bp\n  qemu_pipe/Android.bp\n  reboot/Android.bp\n  rootdir/Android.bp\n  rootdir/Android.mk\n  rootdir/avb/Android.bp\n  rootdir/avb/Android.mk\n  run-as/Android.bp\n  sdcard/Android.bp\n  set-verity-state/Android.bp\n  shell_and_utilities/Android.bp\n  storaged/Android.bp\n  toolbox/Android.bp\n  trusty/apploader/Android.bp\n  trusty/confirmationui/Android.bp\n  trusty/confirmationui/fuzz/Android.bp\n  trusty/coverage/Android.bp\n  trusty/fuzz/Android.bp\n  trusty/fuzz/test/Android.bp\n  trusty/gatekeeper/Android.bp\n  trusty/gatekeeper/fuzz/Android.bp\n  trusty/keymaster/Android.bp\n  trusty/keymaster/fuzz/Android.bp\n  trusty/libtrusty/Android.bp\n  trusty/libtrusty/tipc-test/Android.bp\n  trusty/secure_dpu/Android.bp\n  trusty/storage/interface/Android.bp\n  trusty/storage/lib/Android.bp\n  trusty/storage/proxy/Android.bp\n  trusty/storage/tests/Android.bp\n  trusty/utils/spiproxyd/Android.bp\n  trusty/utils/trusty-ut-ctrl/Android.bp\n  usbd/Android.bp\n  watchdogd/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:\n  debuggerd/Android.bp\n  fastboot/Android.bp\n  libkeyutils/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT\nto:\n  Android.bp\n  libcutils/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\nto:\n  fs_mgr/Android.bp\n  fs_mgr/libfs_avb/Android.bp\n  trusty/utils/rpmb_dev/Android.bp\n\nAdded SPDX-license-identifier-BSD\nto:\n  fastboot/fuzzy_fastboot/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: I5bd81adb5cdcf2b4dd4141b204eb430ff526af8f\n"
    },
    {
      "commit": "6ae4f777bc94bdff21e0cdf8e98f04b57a8b4dc5",
      "tree": "2ab8128220f4153f6de1b634a60b10e3f622dffd",
      "parents": [
        "f96f8e8c7f8279fb918bb600195d24c0dd566158"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Thu Dec 10 13:21:37 2020 +0000"
      },
      "committer": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Thu Dec 10 19:11:56 2020 +0000"
      },
      "message": "Migrate to packages/modules/StatsD/lib/*\n\nBUG: 167962588\nTest: TH\nMerged-In: I22db7e344a9a96bfc16e009624b4896625306e83\nChange-Id: I0c4e4aaece738259bafe57d420dfd1c941f834de\nExempt-From-Owner-Approval: Code Migration / Cleanup\n"
    },
    {
      "commit": "1b5888ee024905f841094a22eddb871fedbc16bf",
      "tree": "11b5fb71d55c44bae488b77721245e0d59591e9a",
      "parents": [
        "2e67e77752013bbdb544ed354f043ba79be1b9fd"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Fri Dec 04 04:03:15 2020 +0000"
      },
      "committer": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Fri Dec 04 06:07:38 2020 +0000"
      },
      "message": "Fix visibility rules for apex/statsd\n\nThe //frameworks/base/apex/statsd path is being migrated to\n//packages/modules/StatsD/apex.\nBUG: 167962588\nTEST: TH\n\nChange-Id: Ifa64bd8268f1515597b11376cdf08828983e0c60\n"
    },
    {
      "commit": "5be28efc34736def3ce741ee8266dab269bc45bd",
      "tree": "b64d25d9cd83e6a1d33efe6cbf288d6c2f594c33",
      "parents": [
        "e11663f483547501bb02234d671cab60484dded4"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Mon Nov 30 17:22:58 2020 +0000"
      },
      "committer": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Wed Dec 02 01:57:08 2020 +0000"
      },
      "message": "Add visibility for statsd in prep for migration.\n\nBUG: 167962588\nTEST: TH\nChange-Id: If8579f0942eb051e41105a56891953eda00920d2\n"
    },
    {
      "commit": "a5edc0fbbc0bce032ef64ca43c8434b0c1991ef3",
      "tree": "e2f77a47c769e4a3b5e53ee4ade85f6c32212169",
      "parents": [
        "4fd78ec4b314895b29a45dce718a29ee290e3017"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Sep 17 09:38:42 2020 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Sep 18 22:48:42 2020 +0000"
      },
      "message": "Use libcutils_headers for android_filesystem_config.h\n\nandroid_filesystem_config.h is found since system/core/include is on\nthe include path for all projects and contains a symlink to the real\nandroid_filesystem_config.h.  This is fragile and the below bug seeks\nto remove this symlink and have users correctly depend on\nlibcutils_headers.\n\nBug: 165825252\nTest: build\nChange-Id: I1aad6a2e8fbe87635e97b0ac1be3414403353382\n"
    },
    {
      "commit": "3d8b739f94a69d7a49823b563f2887b5629f1f95",
      "tree": "87d85123640769fe5940d54af4fd49cfdc665038",
      "parents": [
        "190921ed5c3283ba6b3f45debbd6c4c91ef8a38b"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Sep 16 11:32:47 2020 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Sep 16 11:32:47 2020 -0700"
      },
      "message": "Remove include/private/android_logger.h\n\nUsers should depend on liblog or liblog_headers for this include.\n\nTest: treehugger\nChange-Id: I10dca8638082b2231e2c0713644f103c4c7e9b3f\n"
    },
    {
      "commit": "f2a5ed081a392149c189aab0579683dffc89f643",
      "tree": "2a8a64382742450eb99cb6b63d6bb286bc129a80",
      "parents": [
        "d9f6d499f70ffcc246c339067b7448c70cdd89be"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Wed Jun 10 20:43:53 2020 -0700"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Wed Jun 10 20:43:53 2020 -0700"
      },
      "message": "Do not truncate AStatsEvent buffers\n\nPushed atoms do not need to be truncated because only the bytes added to\nthe buffer are written to the socket. Pulled atoms do not need to be\ntruncated because within stats_pull_atom_callback.cpp, we only copy the\nvalid parts of the buffer to the StatsEventParcel object.\n\nThis improves performance by avoiding a needless call to realloc.\n\n+ removed dead benchmarking code\n\nTest: m libstatssocket\nTest: atest libstatssocket_test\nTest: atest GtsStatsdHostTestCases\nBug: 158717786\nChange-Id: I6965f8832758203ca566336ba12d0acaf5f756d5\n"
    },
    {
      "commit": "9b9584b1a373630c5d6860a4aed436622fcd2c7f",
      "tree": "47c7d3cf16cb1d4d3ffdcfdd68d6deff5cd78384",
      "parents": [
        "84db2e40e1fc3a9d2e5091845abb51a04ee95793"
      ],
      "author": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Mon Jun 08 18:42:45 2020 -0700"
      },
      "committer": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Tue Jun 09 20:12:42 2020 -0700"
      },
      "message": "Increase size limit for pulled AStatsEvent\n\nIncrease AStatsEvent max byte size to 50 KB for pulled events.\nAll AStatsEvent instances are treated as pulled events unless\nAStatsEvent_write() is called.\n\n- Set the default max size to 50 KB\n- The starting buffer size is still ~4 KB for pushed and pulled events.\n- If a write would exceed the buffer bounds, double buffer size until\nwrite fits or 50 KB limit is exceeded in which case the overflow bit is\nset to true.\n- If AStatsEvent_write() is called, max size is set to ~4 KB. And if\nthe current payload exceeds this limit, set overflow bit to true.\n\n- Fix error mask checking in stats_event_test.\n- Set ERROR_NO_ATOM_ID when atom id is missing.\n- Make sure tests don\u0027t hit ERROR_TOO_MANY_FIELDS when testing buffer\noverflow.\n- Rename event-\u003esize to event-\u003enumBytesWritten\n\nFixes: 158214941\nTest: libstatssocket_test\nChange-Id: Ia26aeb775f7e4f2ffe87707bab6d0119e21da10e\n"
    },
    {
      "commit": "84db2e40e1fc3a9d2e5091845abb51a04ee95793",
      "tree": "a87553b5c618658857ad13718e2d9db49d27a203",
      "parents": [
        "ee418ecb66f08cfe5a0375f2608bd9edd3f7c4c3",
        "c95f7819017eeeccfb78cab728c3c443546affed"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Jun 01 19:14:09 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 01 19:14:09 2020 +0000"
      },
      "message": "Merge \"Retry pullfinish with empty payload if call fails\" into rvc-dev"
    },
    {
      "commit": "413668bcf3079fa729b8d4d7f424070d55da79bc",
      "tree": "c684a284bcd6d0cf1aedf3434217a5034dd16498",
      "parents": [
        "b2cc8cb2d7a1107db8c2e41057710911a46729cf",
        "00ffb6c77e28ce24c1ca0025894586db58ab8437"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Sat May 30 09:59:13 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 30 09:59:13 2020 +0000"
      },
      "message": "Merge \"Libstatspull: decrease default pull timeout to 2s\" into rvc-dev"
    },
    {
      "commit": "00ffb6c77e28ce24c1ca0025894586db58ab8437",
      "tree": "be674680996d6f944eb1dd1fc005ef0dc30de1c8",
      "parents": [
        "9113e7be9556d002e84c08bb5ed1aa7dd1bcf618"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Thu May 21 19:34:09 2020 -0700"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri May 29 23:37:21 2020 +0000"
      },
      "message": "Libstatspull: decrease default pull timeout to 2s\n\nDecrease the default pull timeout to 2 seconds.\n\nTest: atest LibStatsPullTests\nTest: atest libstatspull_test\nBug: 154056912\nChange-Id: I8f7660de64e8c74a8c7ce7d252369c0456895e3b\n"
    },
    {
      "commit": "c95f7819017eeeccfb78cab728c3c443546affed",
      "tree": "f97c2faea59a3f91e7a54c17af215f720a5026e5",
      "parents": [
        "9113e7be9556d002e84c08bb5ed1aa7dd1bcf618"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri May 29 15:21:08 2020 -0700"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri May 29 15:21:08 2020 -0700"
      },
      "message": "Retry pullfinish with empty payload if call fails\n\nIf the first call for pullFinished fails, it is likely because the\ntransaction is too large. Currently, if this happens statsd will just\nsleep until the timeout. With this change, the client will retry calling\npullFinish if the first attempt fails, but with an empty payload (and\nwith success \u003d false) to cause the puller to fail fast, and so statsd\ndoes not wait for the timeout.\n\nTest: atest LibStatsPullTests\nBug: 157768117\nChange-Id: I3af991fae47bb7c09bf8a6fc83f28556b836c6e4\n"
    },
    {
      "commit": "f584432c9028186ca9ffb2d897d0e4e13de50a6c",
      "tree": "9b33bbe1ca5fc40f7491c567678f50232b3f7c17",
      "parents": [
        "d4c8a20d4bdbe367da12b3364f620b8138ec9e27",
        "c724fb670f3a57d123cda7ba8bbea9d38eb069db"
      ],
      "author": {
        "name": "Chen Zhu",
        "email": "chenzhu@google.com",
        "time": "Wed May 27 07:47:03 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 27 07:47:03 2020 +0000"
      },
      "message": "Merge \"Add test config to libstatspull_test and libstatssocket_test\" into rvc-dev"
    },
    {
      "commit": "c724fb670f3a57d123cda7ba8bbea9d38eb069db",
      "tree": "7e558571f2bd9c7f68485cf0f5b58af8285242e7",
      "parents": [
        "5daea5a6a28310a7b32b62706e52eac61122fb17"
      ],
      "author": {
        "name": "Chen Zhu",
        "email": "chenzhu@google.com",
        "time": "Wed May 20 13:06:24 2020 -0700"
      },
      "committer": {
        "name": "Chen Zhu",
        "email": "chenzhu@google.com",
        "time": "Thu May 21 14:51:59 2020 -0700"
      },
      "message": "Add test config to libstatspull_test and libstatssocket_test\n\nand apply mainline module test controller to it so that\n\nthe tests will only be run when statsd apex is found on device.\n\nBug: 154845935\nTest: m mts \u0026\u0026 mts-tradefed run mts-statsd\nChange-Id: I8939e68b4d4c3772e248c1960b74c0f1bd6a21a6\n"
    },
    {
      "commit": "516b632ff477616be473291ab5c939899c95ec38",
      "tree": "c4769022b0d53cc5966db7536af67a8a3db80e5c",
      "parents": [
        "8de46ae39dbc5a9a4cebabfeeaa392a9f6e64c7d"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Mon May 18 23:19:13 2020 -0700"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Tue May 19 21:52:14 2020 +0000"
      },
      "message": "Remove statsd enable check when logging\n\nstatsd should now be enabled on all devices and this check is\nunnnecessarily adding a check for each time there\u0027s a call into the\nsocket, which is inefficient.\n\nBug: 157082130\nTest: make, statsd_test\nChange-Id: I0bb0ae0c93516c3a02cb971742c3eba602668a09\n"
    },
    {
      "commit": "4ae167e82900682900844ba302208483483f9a41",
      "tree": "b3e10e6b97edf286dc1a3fa6bd51af10ffcda85f",
      "parents": [
        "67a2bebf7445a26663613e01b8b7313cc15122c5"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Thu May 07 12:29:01 2020 -0700"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Thu May 07 12:31:39 2020 -0700"
      },
      "message": "Use proper platform version checks (libstats)\n\nTest: bit libstatspush_compat_test\nBug: 146019024\nChange-Id: If99a7067944ddfbe30bb0ddfe586a337a94d4c07\n"
    },
    {
      "commit": "f2d4dc6b8f7b5ed0356f68d46712b644aa6961ef",
      "tree": "8fb11555d30b90c3901688ab09b9a207826b0c13",
      "parents": [
        "84f253e40a48957c5b562ab6f6529455d50992a1"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Apr 16 18:48:33 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Sat May 02 02:29:19 2020 +0900"
      },
      "message": "stats: Set min_sdk_version\n\nModules contributing mainline modules (APK/APEX) should set\nmin_sdk_version as well as apex_available.\n\nFor now setting min_sdk_version doesn\u0027t change build outputs.\nBut build-time checks will be added soon.\n\nBug: 152655956\nTest: m\nMerged-In: Icd184c6fe06a688bd79ef6514bb49dffb706a9a1\nChange-Id: Icd184c6fe06a688bd79ef6514bb49dffb706a9a1\n(cherry picked from commit cc3588afcb4e9fa2104a62da47c4c023828c8bcd)\n"
    },
    {
      "commit": "053ade4320900cdf08bdd59299ad5d8c1a3a6ebd",
      "tree": "f694571ad83f236dab7629da6e072873a2f9014b",
      "parents": [
        "03ead1428851625a235119abc0b9c7937ec7f843",
        "6cc1d41527f2cc34ee36fb32591dd5e5659357cd"
      ],
      "author": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Wed Apr 29 18:46:26 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 29 18:46:26 2020 +0000"
      },
      "message": "Merge \"Add test for AStatsSocket_close()\" into rvc-dev"
    },
    {
      "commit": "6cc1d41527f2cc34ee36fb32591dd5e5659357cd",
      "tree": "a5558189f6248a1e93d8007bfee582cc11628194",
      "parents": [
        "61e2b0104a77e43d1c7f127b7fa1986add0b133e"
      ],
      "author": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Fri Apr 24 12:01:44 2020 -0700"
      },
      "committer": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Tue Apr 28 15:22:28 2020 -0700"
      },
      "message": "Add test for AStatsSocket_close()\n\nBug: 154871176\nTest: atest libstatssocket_test\nChange-Id: If8aa26a9a9a75382b6f8779c23974a7008bd387a\n"
    },
    {
      "commit": "18d239c5c503468c5500d5479d2818b6baa74e2f",
      "tree": "c1a98f9f38cec02930818d2893a562648c2c4a29",
      "parents": [
        "61e2b0104a77e43d1c7f127b7fa1986add0b133e"
      ],
      "author": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Fri Apr 24 10:43:08 2020 -0700"
      },
      "committer": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Fri Apr 24 10:44:25 2020 -0700"
      },
      "message": "Add require root to libstats tests\n\nroot is required for coverage tests\n\nBug: 154652564\nTest: m -j\nChange-Id: I3325565818a275a069aed35a34bf3a58ee4b5bfc\n"
    },
    {
      "commit": "6d99e68e74e3909d94ac8c1a578257dff06e76e5",
      "tree": "3df8a8096793ad336b6cf881830187a2c712cafd",
      "parents": [
        "04083e2ba83c7fcbab76c19affe54b07492beabc",
        "2f51ad7b86839d00dcef29c62e761673e8db013a"
      ],
      "author": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Thu Apr 23 23:55:31 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 23 23:55:31 2020 +0000"
      },
      "message": "Merge \"Tag libstatspull and libstatssocket tests as MTS\" into rvc-dev"
    },
    {
      "commit": "2f51ad7b86839d00dcef29c62e761673e8db013a",
      "tree": "7cb656c878a901f4d88ff4683073919747e95038",
      "parents": [
        "8ee349bdbd75f8d92fbe25ebd9d7a96979da852b"
      ],
      "author": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Wed Apr 22 17:09:30 2020 -0700"
      },
      "committer": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Wed Apr 22 17:13:24 2020 -0700"
      },
      "message": "Tag libstatspull and libstatssocket tests as MTS\n\ncreate both 32 and 64 bit variants\nfixes libstatssocket_test for 32 bit devices\n\nBug: 154652564\nTest: make mts, adb push, adb shell all 4 tests\nChange-Id: Ia6b51686c06e786b38cb3713315977533f1bb819\n"
    },
    {
      "commit": "a6bcd4817c494672f95aa39cddda28fc7f6ded91",
      "tree": "787f9805aaf456d77ce66e339c7d5b0d40533d46",
      "parents": [
        "5390bee3f409c863af3ebf344344b2d7c5b22257"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Apr 08 23:40:03 2020 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Apr 20 16:35:05 2020 +0900"
      },
      "message": "Set apex_available property\n\nThe marked library(ies) were available to the APEXes via the\nhand-written whitelist in build/soong/apex/apex.go. Trying to remove the\nwhitelist by adding apex_available property to the Android.bp of the\nlibraries.\n\nExempt-From-Owner-Approval: cherry-pick from AOSP\n\nBug: 150999716\nTest: m\nMerged-In: I8fd2a3c9b69454c6018c72f5198898bc90dc4d0d\n(cherry picked from commit 937b4bf173caa185ff437ca2c7b4030b5c8aa056)\nChange-Id: I8fd2a3c9b69454c6018c72f5198898bc90dc4d0d\n"
    },
    {
      "commit": "5d8f770b1ce4e689d6744d888ddff45b48ff2823",
      "tree": "3fb09a4d2370adeee74dd8ede51bfd0c675f8c6e",
      "parents": [
        "27311fd844c397a32bb19d90ea3d5bfae3052d43"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Apr 06 15:01:41 2020 -0700"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Apr 06 19:52:03 2020 -0700"
      },
      "message": "Link libc++ statically\n\nTest: bit statsd_test:*\nTest: bit libstatssocket_test:*\nTest: bit libstatspull_test:*\nBug: 153349659\nChange-Id: Ief3d0e062ed3e5cabf5b8b6198510caf3f64eefd\n"
    },
    {
      "commit": "0d7fb3d260ebd2734410a99b7978d3a57192c3c0",
      "tree": "5d1b771563d5603b54474cf36d90decb00b20ed2",
      "parents": [
        "5d4ed0240af0fba67544b7bfea5a45d87796cc15"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Mar 30 18:15:05 2020 -0700"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Mar 30 18:15:05 2020 -0700"
      },
      "message": "libstatspull documentation for puller guardrails\n\nTest: atest LibStatsPullTests\nBug: 152543610\nChange-Id: Ia5caad7c9307c02fef7d3dfe70998601e7ffeb55\n"
    },
    {
      "commit": "e39a7cf021875a5705a2d5e6c20d2bc2ac6ef86b",
      "tree": "27c805b7d67ea508a5262ce13d3eb1501ba8eb51",
      "parents": [
        "34fdb226f582dcef3340d3db8319d15bdbfbe373",
        "8056dd129a2439e883d9df41cae113c0f0894643"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Tue Mar 24 18:47:16 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 24 18:47:16 2020 +0000"
      },
      "message": "Merge \"Support ERROR_ATOM_ID_INVALID_POSITION\" into rvc-dev"
    },
    {
      "commit": "8056dd129a2439e883d9df41cae113c0f0894643",
      "tree": "3c7eb10a557d1e2ae587a6b0726cfd97393ccc9e",
      "parents": [
        "baaf2a44fb48dd07a50e29eaadd596e9777bf6bd"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Tue Mar 24 07:53:23 2020 -0700"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Tue Mar 24 07:57:51 2020 -0700"
      },
      "message": "Support ERROR_ATOM_ID_INVALID_POSITION\n\nOriginally, the native implementation would discard everything clients\nwrote to the buffer before the setAtomId call. Thus, the atom id was\nalways placed in the \"correct position.\" However, for consistency with\nthe Java implementation, we now allow write calls before setAtomId to\noccur and log an error in that case.\n\nTest: bit libstatssocket_test:*\nBug: 152119205\nChange-Id: Ib109c7a939a5ae92c1d5fc70aa647ac7390fadad\n"
    },
    {
      "commit": "e3bdbfa46c88cb9052a887036dd484f839bd6c34",
      "tree": "75c235eb8b0336333420ef4749b1318d87505819",
      "parents": [
        "e6ecb06dc71cb4d9dbd0f4632413a59699ef240c"
      ],
      "author": {
        "name": "Hsin-Yi Chen",
        "email": "hsinyichen@google.com",
        "time": "Mon Mar 23 11:26:38 2020 +0800"
      },
      "committer": {
        "name": "Hsin-Yi Chen",
        "email": "hsinyichen@google.com",
        "time": "Mon Mar 23 03:45:07 2020 +0000"
      },
      "message": "Disable ABI check for libstatspull\n\nThe ABI dump for libstatspull can\u0027t be built due to the link error.\n\nTest: development/vndk/tools/header-checker/utils/create_reference_dumps.py\nBug: 151102177\nBug: 151694054\nChange-Id: Id324890235679b9593995b6e12a60ef055b4c825\n"
    },
    {
      "commit": "47e5ae49c298c618bdc307539fe437fcac0980d2",
      "tree": "3d6db359a82fab46b8039b60d0660ea6fcebda86",
      "parents": [
        "c06f147566680c308e8ccd7a734e871d558e99c1"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Mar 20 12:13:40 2020 -0700"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Mar 20 12:16:28 2020 -0700"
      },
      "message": "Minor followups from api feedback\n\nBug: 150788562\nTest: m\nChange-Id: I3473e49bc3f3682300b036ddeb032c3776d8d830\n"
    },
    {
      "commit": "c06f147566680c308e8ccd7a734e871d558e99c1",
      "tree": "5556c7ee5dd33b9091f234aaab20393430e0c9e0",
      "parents": [
        "934135d5761cb2a12d0f787add6f615da3812dbc"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Mar 13 19:14:05 2020 -0700"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Fri Mar 20 11:10:56 2020 -0700"
      },
      "message": "Native API feedback for puller API\n\n1. Rename registerPullAtomCallback to setPullAtomCallback\n2. Rename unregisterPullAtomCallback to clearPullAtomCallback\n3. Change Ns to Millis for consistency with java\n4. Swap metadata and callback params in setPullAtomCallback to match\njava\n5. Added getters for PullAtomMetadata\n6. Added libstatspull_test to test PullAtomMetadata\n7. Changed the types on setAdditiveFields from int to int32_t\n\nTest: make\nTest: atest LibStatsPullTests\nTest: bit libstatspull_test:*\nBug: 1507885621\nBug: 151875223\nChange-Id: I5cb07bfe71b1002180403828d5e8e6a5b88ce6fe\n"
    },
    {
      "commit": "5a495becd0215908f66b0d7c54337385f5704e5b",
      "tree": "1f67ec8cf44843a942219aa116cc72b2c38fe814",
      "parents": [
        "126a1c2dd0610bca05f25a8b9149970eed408ccc",
        "8196687d396874a088458da1e9d8757337dd6fbc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 19 21:12:52 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 19 21:12:52 2020 +0000"
      },
      "message": "Merge \"Enforce permission in native puller API.\" into rvc-dev"
    },
    {
      "commit": "8196687d396874a088458da1e9d8757337dd6fbc",
      "tree": "76450c253fe658261131902997cfbdd13fdf7a37",
      "parents": [
        "a94047be700815f3326023936f287f5917006111"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Tue Mar 17 11:00:17 2020 -0700"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Tue Mar 17 11:26:00 2020 -0700"
      },
      "message": "Enforce permission in native puller API.\n\nTest: m\nTest: No security exceptions on boot\nBug: 148955001\nChange-Id: If196a82bf5a54ee15557825e16f70b5f64f45412\n"
    },
    {
      "commit": "e712eed24cb4b9c9e7f0e4237e353cfe6a9e714e",
      "tree": "6e2675487b133bf0bf47df6188a8d397bd76d518",
      "parents": [
        "c2a354be6865aa4c5a68471fe29f45a5eb3a3a33"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Tue Mar 10 19:13:18 2020 -0700"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Thu Mar 12 15:21:26 2020 -0700"
      },
      "message": "Support atom-level annotations within AStatsEvent\n\nRefactors implementation details to allow for atom-level annotations.\nThis CL does not change the API surface. addBoolAnnotation and\naddInt32Annotation work for both atom-level and proto field annotations.\n\nTest: bit libstatssocket_test:*\nBug: 151158794\nChange-Id: I2c340b201aeb3bcddd5cfde171b7c4df1d8d69a4\n"
    },
    {
      "commit": "c2a354be6865aa4c5a68471fe29f45a5eb3a3a33",
      "tree": "ef3d8e5f468fef1f7b5725eddecb93eea6086386",
      "parents": [
        "575d8c2c9e55bee6f49a08e3a26389402e6c41a9",
        "01aa81cec546e625f13375f6d6929cbc77d64965"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Mar 12 04:10:15 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 12 04:10:15 2020 +0000"
      },
      "message": "Merge \"don\u0027t include liblog to APEXes\" into rvc-dev"
    },
    {
      "commit": "01aa81cec546e625f13375f6d6929cbc77d64965",
      "tree": "d5abead1baa10194bfae5c954aea98b690f9a377",
      "parents": [
        "bbbd1a8e4109c715fd914bba7606a74843960e0f"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Mar 09 14:35:57 2020 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Mar 11 18:30:06 2020 +0900"
      },
      "message": "don\u0027t include liblog to APEXes\n\nliblog is a platform library that provides stable C API. There is no\nneed to include the library, especialy by statically linking to it, in\nany APEX. It not only wastes the storage/ram, but also is incorrect\nbecause the socket interface to logd which is implemented in liblog is\nnot guaranteed to be stable.\n\nFixing this issue by converting static_libs: [\"liblog\"] into\nshared_libs: [\"liblog\"], in which case the dependency to the library\nis satisfied via the stub variant of the library.\n\nAs a result, we could restrict the availablity of the library to\nthe platform and the runtime APEX.\n\nExempt-From-Owner-Approval: already approved when this was in internal\nmaster (ag/10572699)\n\nBug: http://b/151051671\nBug: http://b/150827719\nTest: m\nMerged-In: I5aab863cb12b8767b6979255c247000a59355b0e\n(cherry picked from commit 95b6f45b0e09b45daf6a7999cef039fabf587327)\nChange-Id: I5aab863cb12b8767b6979255c247000a59355b0e\n"
    },
    {
      "commit": "7a287d075129bbe058f8df666ead2a0e5c5c5c2b",
      "tree": "a564963f57c82db9a339aa4dca39471da921a5f6",
      "parents": [
        "19212e3212f5e4f6259ebf857d8ca6c0c91b10ef"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Wed Feb 19 16:31:13 2020 -0800"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Mon Mar 09 15:16:11 2020 -0700"
      },
      "message": "Use dlsym to load libstatssocket API\n\nAlso fixes a bug in the tests where the platform version was being\nchecked by querying version.release instead of version.codename\n(currently, version.release \u003d\u003d 10, while version.codename \u003d\u003d R).\n\nTest: bit libstatspush_compat_test:* (on Q and R)\nTest: libsstatssocket.so is not placed in resolv apex (on R)\n\n1|bonito:/ $ ls apex/com.android.resolv/lib64\nlibclang_rt.ubsan_standalone-aarch64-android.so\nlibcrypto.so\nlibnetd_resolv.so\nlibssl.so\n\nTest: NETWORK_DNS_EVENT_REPORTED atom is logged to statsd (on R)\n    - adb shell cmd stats print-stats (atom 116 count \u003e 0)\n\nBug: 148743333\nChange-Id: Ib3eaa32835905bcf6e3b003054bf0f3c4e7ec0a4\nMerged-In: Ib3eaa32835905bcf6e3b003054bf0f3c4e7ec0a4\n(cherry picked from commit 9848eb4f1c6780c0cfb253417d7542663421fb7e)\n"
    },
    {
      "commit": "7452e46ae0b2d961ea47b3f0ac1b87a7d9f8e19b",
      "tree": "15d17df68421221ebee00b0c9dd5fda96d7c9f45",
      "parents": [
        "bbbd1a8e4109c715fd914bba7606a74843960e0f"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Tue Feb 18 15:53:44 2020 +0800"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Fri Mar 06 22:09:44 2020 +0000"
      },
      "message": "Use libbase to get the elapsed time instead of libutils\n\nTo minimize the external library dependencies\n\nBug: 149721367\nTest: atest\nChange-Id: I7b79223ad58c2af94d01a35ad39be6cdd1de7f47\nMerged-In: I7b79223ad58c2af94d01a35ad39be6cdd1de7f47\n(cherry picked from commit cab9854fa91b4721eef4d4a549f702f73b7edd8a)\n"
    },
    {
      "commit": "d78f4dab02b664fb7164763cdbdd52f3fbc226a5",
      "tree": "3a3ec7881abc0b91cfb4bf8ca3c5ab87ff6759f3",
      "parents": [
        "f3dfd4d821cca5be48a9bcb269beabd8ca212468"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Wed Jan 29 15:56:52 2020 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Thu Feb 27 11:37:33 2020 -0800"
      },
      "message": "Make libstatssocket a shared_lib\n\nMake libstatssocket unable to be linked as a static lib on the platform.\n\nTest: bit libstatssocket_test:*\nTest: bit statsd_test:*\nTest: atest LibStatsPullTests\nBug: 149340100\n\nChange-Id: I5889dd718536f5f2c693b4c2e7331c9cc2eb2ac9\n"
    },
    {
      "commit": "3a40ee5402c53f3ceb2acf962c0ed5c69836ef03",
      "tree": "f65ad0bbba530248ab7f6a53ef8198701417b679",
      "parents": [
        "00079b339aa8ebc640f0579fab8cb960971a2050"
      ],
      "author": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Tue Feb 18 16:52:22 2020 -0800"
      },
      "committer": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Tue Feb 18 17:05:19 2020 -0800"
      },
      "message": "//apex_available:platform should be first in list\n\nTest: m\nChange-Id: I6ede6f008bc149f587ae2fc024d5869463b2c64d\n"
    },
    {
      "commit": "d430c85c5211dfca3c8c787875c57bcac06ebdf8",
      "tree": "63f9eb8148f85f9d2498e8eff56d56bc282f314f",
      "parents": [
        "ea37af2c62a0cef47ceed257e93a3af76825a5d0",
        "e1cff24259d00dd7b7320d06673ebe90506bd10d"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Sat Feb 15 01:34:34 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 15 01:34:34 2020 +0000"
      },
      "message": "Merge \"Delete stats_event_list from libstatssocket\""
    },
    {
      "commit": "ea37af2c62a0cef47ceed257e93a3af76825a5d0",
      "tree": "0b1171f810ad7b110735a001eeb14381f6b3519a",
      "parents": [
        "346e73b00afc1a25e8c9a14fd2e0d507babd1532",
        "e41a6c621ce904d5c7a67feca76fe6246d6c0b16"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 14 23:11:48 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 14 23:11:48 2020 +0000"
      },
      "message": "Merge \"AStatsEvent_overwriteTimestamp\""
    },
    {
      "commit": "e1cff24259d00dd7b7320d06673ebe90506bd10d",
      "tree": "648b912f6b26bc387aedf6724cc8ddf561bd244d",
      "parents": [
        "f8e70a5bf809f8528ff03669734d688b554705a7"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Fri Feb 14 12:03:35 2020 -0800"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Fri Feb 14 13:34:10 2020 -0800"
      },
      "message": "Delete stats_event_list from libstatssocket\n\nThis change is done in internal master because the flag has not been\nswitched in AOSP, so stats_event_list is still being used there.\n\nTest: m -j\nBug: 145573568\nChange-Id: Ica525d0fd731b8d3e9d273ce2220a3d3179d93d9\n"
    },
    {
      "commit": "f8e70a5bf809f8528ff03669734d688b554705a7",
      "tree": "8a96606da59cbac80718ccb090d6a945d1143872",
      "parents": [
        "450d6e42b0ff57c4625f34813cf32499b746db8a",
        "2ebc2e3d8f64c7c0e26be9bb6203875f5b85ccc2"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Fri Feb 14 19:43:21 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 14 19:43:21 2020 +0000"
      },
      "message": "Merge \"Expose AStatsSocket_close() from the statsd apex\""
    },
    {
      "commit": "e41a6c621ce904d5c7a67feca76fe6246d6c0b16",
      "tree": "fda54d164fc9ae5e73770c5becdd7fa88eb4fe66",
      "parents": [
        "1d237b5b4698db489d757312ddce9fec9c0c548a"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Fri Feb 14 10:53:03 2020 -0800"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Fri Feb 14 10:56:49 2020 -0800"
      },
      "message": "AStatsEvent_overwriteTimestamp\n\nCreate a function to overwrite timestamp for LogEvent tests. This\nfunction is not exposed outside of the APEX.\n\nTest: bit libstatssocket_test:*\nChange-Id: Id0eac485af60e952cc700f7d1231b1b971400982\n"
    },
    {
      "commit": "2ebc2e3d8f64c7c0e26be9bb6203875f5b85ccc2",
      "tree": "220ec28adf4575b5cf6ce0a13cc80070aa317869",
      "parents": [
        "fd0edb7ca6c894ee6d35e8b50ad954b6665dc93b"
      ],
      "author": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Tue Feb 11 14:12:59 2020 -0800"
      },
      "committer": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Thu Feb 13 16:16:48 2020 -0800"
      },
      "message": "Expose AStatsSocket_close() from the statsd apex\n\nAs part of statsd becoming a Mainline module in R, we need to formalize\nthe statsd APIs called from outside the statsd apex.\n\nBug: 145923416\nTest: m\nChange-Id: I296a018cc93d95bda77d95f8161acbbe983a5d51\n"
    },
    {
      "commit": "b0a85dc46dff7bb5c277f2e85edfe38cf5b7ae36",
      "tree": "afb873715f9e8238dbbf648c535bb01e3aae6393",
      "parents": [
        "6d3fa224afd38f1ee440dbf54f3258351aa1c34c"
      ],
      "author": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Wed Feb 12 14:22:01 2020 -0800"
      },
      "committer": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Wed Feb 12 18:30:26 2020 -0800"
      },
      "message": "Add apex_available to libs\n\nBug: 145922701\nTest: m -j\nChange-Id: If5cbe5651e47878520bdc5b943b17a4f72a2a2f3\n"
    },
    {
      "commit": "223dadb830ceec78746f4bf227a4152c740b949e",
      "tree": "1658655b861a5ddb7522edda8560f44145418b04",
      "parents": [
        "bdd5ef3f451e8330bcc6c93a53e1fcb8f3772350"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Fri Jan 24 18:21:36 2020 -0800"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Mon Feb 10 16:07:18 2020 -0800"
      },
      "message": "Migrate libstatspull to libbinder_ndk\n\nSince libstatspull will be placed within the APEX, we need to move to\nlibbinder_ndk.\n\nTest: m -j libstatspull\nTest: atest LibStatsPullTests\nBug: 145213327\nChange-Id: I86dd6e759efa5eb20bffc76492d5fa72cf279872\n"
    },
    {
      "commit": "8095e4eef13fea9e86bdc4466426d894023015cd",
      "tree": "3cf36bcefaadd4a056c236acb56b38ad0fa8607b",
      "parents": [
        "178645f1ac96bbb28eb526c70f655d91a5719102"
      ],
      "author": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Fri Feb 07 12:06:41 2020 -0800"
      },
      "committer": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Fri Feb 07 12:17:40 2020 -0800"
      },
      "message": "Update libstatspull lib\n\nstatsd_aidl was updated, so this is the matching change.\n\nTest: m -j\nBug: 148682447\nChange-Id: Iec0459cec9f649eb23c6d04b205075fff9b6e911\n"
    },
    {
      "commit": "b173a95ae80be316bc209370c16df4106da7b35a",
      "tree": "d023b2ff5c9c2c6f41c0a73cee5fb13367484d89",
      "parents": [
        "f49c38beb5e75f1dc6e9b1a6f6a3eb73abe06aeb"
      ],
      "author": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Wed Feb 05 17:10:46 2020 -0800"
      },
      "committer": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Wed Feb 05 17:10:46 2020 -0800"
      },
      "message": "Fix native stats_event logging\n\npass the byte array pointer; not the reference to the pointer.\n\nAlso turn on new socket protocol.\n\nBug: 148909969\nBug: 143979391\nTest: m\nTest: fastboot flashall\nTest: atest android.cts.statsd.atom.UidAtomTests#testLmkKillOccurred\nTest: atest LibStatsPullTests\nTest: atest GtsStatsdHostTestCases\nChange-Id: If7abae5cadb036555540d1b9b5e7f2cabe99beb8\n"
    },
    {
      "commit": "f49c38beb5e75f1dc6e9b1a6f6a3eb73abe06aeb",
      "tree": "ed765b922d3be82aaabc9a2170f0f57ed35e42a3",
      "parents": [
        "4fe7fe724797cbcdf8ca03a49d83878d892676da",
        "a8fd39d83ffe19051909ead5a8a18230eb43f5bd"
      ],
      "author": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Wed Feb 05 18:28:12 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 05 18:28:12 2020 +0000"
      },
      "message": "Merge \"Expose libstatspull as a stable C API\""
    },
    {
      "commit": "0fca736e6cf02ad33836f9c59bdf5a2fb6fd9849",
      "tree": "64a1e616291979c76bfd66d6a07819a647f2f9bb",
      "parents": [
        "98027bf9c2c2077ab198ad23110ee202f1c38bc8"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Tue Feb 04 14:13:20 2020 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Tue Feb 04 16:08:21 2020 -0800"
      },
      "message": "Add libstatssocket_test to TEST_MAPPING\n\nTest: treehugger\nChange-Id: Iddff5df4c498bf7c93e57b1ae214f813920243e1\n"
    },
    {
      "commit": "a8fd39d83ffe19051909ead5a8a18230eb43f5bd",
      "tree": "a4530356860add99e9db5c13bf36a734f0075165",
      "parents": [
        "98027bf9c2c2077ab198ad23110ee202f1c38bc8"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Tue Jan 14 13:46:27 2020 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Tue Feb 04 14:07:35 2020 -0800"
      },
      "message": "Expose libstatspull as a stable C API\n\nLibstatspull will ship as a part of the statsd apex in R.\n\nAlso update libstatssocket to have version 30 to align with api level,\nas per native api council feedback.\n\nChange both libraries to use NDK style naming conventions (AStatsEvent,\nAStatsManager), and remove unneeded APIs in libstatssocket.\n\nRemove KeyValuePairs from libstatssocket. KeyValuePairs will not be\nsupported in native code.\n\nBug: 147499386\nTest: make libstatspull\nTest: make libstatssocket\nTest: atest libstatssocket_test\nChange-Id: Ie79771461215a057529aaac91db95e4334c3960e\n"
    },
    {
      "commit": "a37a2bc4151d37486374c9e223afb63e0b266115",
      "tree": "a95edb3fa1ea514401f57b71f68a7ecb777e7af3",
      "parents": [
        "63bdd5df0912c09ff00a4e34cacb036ee1bcfeff"
      ],
      "author": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Thu Jan 30 16:44:53 2020 -0800"
      },
      "committer": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Thu Jan 30 16:44:53 2020 -0800"
      },
      "message": "export libstatssocket_headers\n\nAdd export_header_lib_headers: [\"libstatssocket_headers\"]\nto libstatspush_compat\n\nTest: m\nChange-Id: I70d7a214a5233c6a730b24c9c21b8bd654a78b04\n"
    },
    {
      "commit": "518d77d208f97e7f0834969fa53a1b49d4eb87fb",
      "tree": "b36fea35ad9357e7571fcc565df47ada1e5a3dfa",
      "parents": [
        "dab324f6e037b02086149cddcad398976e3a0777"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Jan 13 17:56:58 2020 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Wed Jan 15 21:15:26 2020 +0000"
      },
      "message": "Register pullers in separate thread\n\nThis cl modifies getStatsService to use the blocking getService, but\nalso makes the binder call in a separate thread to not block the client\nthread. This is needed because it is possible for pullers to be\nregistered before statsd starts, and calling checkService before statsd\nis up will fail. We also would never receive the binderDied to register\nit, because we would never have a binder object to linkToDeath on.\n\nBug: 147682855\nTest: atest LibStatsPullTests\nChange-Id: I68c04bc24c7fe066eca88cab4f6a76885581c1ee\n"
    },
    {
      "commit": "dab324f6e037b02086149cddcad398976e3a0777",
      "tree": "8e26bfb6ffde7a4107c5c70f70d4a0db33e95762",
      "parents": [
        "044669fa560d119350476daedae133437e112b88"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Mon Jan 13 16:03:15 2020 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Tue Jan 14 14:37:58 2020 -0800"
      },
      "message": "Unregistration of native pullers\n\nChanges the API to return an int instead of a bool.\nCreates API to unregister pullers.\n\nTest: atest LibStatsPullTests\nBug: 144373250\nChange-Id: I6d395237082337a22f37190343a1fc59703d39bf\n"
    },
    {
      "commit": "d37759086f094a9d14bc2b96bd4060d2c672ead5",
      "tree": "cfca133fd01ed6d3a6d9c19f581948da6329545d",
      "parents": [
        "d9c638514c2e781d77490b8f7452935950b72379",
        "7e1b190832d8b4afd902a23ff89e2e0f4e2ebbe0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 10 08:29:37 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 10 08:29:37 2020 +0000"
      },
      "message": "Merge \"Remove extra indirection in native puller API\""
    },
    {
      "commit": "7e1b190832d8b4afd902a23ff89e2e0f4e2ebbe0",
      "tree": "869ebc6777b585ca9158f147d3eec17169b5c849",
      "parents": [
        "cde63fd301f072c8c6739000243657fea0601f57"
      ],
      "author": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Thu Jan 09 11:48:36 2020 -0800"
      },
      "committer": {
        "name": "Tej Singh",
        "email": "singhtejinder@google.com",
        "time": "Thu Jan 09 11:53:53 2020 -0800"
      },
      "message": "Remove extra indirection in native puller API\n\nThe indirection is unneeded since we already take a function pointer.\n\nTest: builds\nChange-Id: Ice426d7dcb090aaf87a377ede233a4eb18f5eb30\n"
    },
    {
      "commit": "21c1f9c3148c080aa2c8756c300d8d6718d11e6b",
      "tree": "6ae39b56395aed470276e9e677578bbd755a4bbd",
      "parents": [
        "3fd3869d9e6075b4a93234156f6710c825e70e63"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Tue Jan 07 09:36:04 2020 -0800"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Wed Jan 08 14:30:01 2020 -0800"
      },
      "message": "stats_event.h/c tests\n\nAdd unit tests for the native API to log atoms to statsd.\n\nTest: bit libstatssocket_test:*\nBug: 145231901\nChange-Id: If427c17319787200260cbe3b71075ca556c9a82b\n"
    },
    {
      "commit": "a8cdcadbd2f615cef467d291f5f1d92870e111fe",
      "tree": "06eb10179002e00d8a37b565e30960c4a1aa00c1",
      "parents": [
        "5310401fe06eb8f3b2ef0ed36cbdf93a49f7da15",
        "759c6ff42514db6a71b397e3817f539cd9f03612"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jan 07 01:13:13 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jan 07 01:13:13 2020 +0000"
      },
      "message": "Merge \"Fix bug in stats_event_benchmark\" am: 3bf8858105 am: ae9375f13e am: 759c6ff425\n\nChange-Id: I9446a60a7aa33d913d92b13f60690f5b7f903790\n"
    },
    {
      "commit": "3bf88581050eed7151c63bfe871f3a7708e31aaa",
      "tree": "3c2af606836eab6da6adc6f5b6dfefa6b7fd3f4d",
      "parents": [
        "2ff1eac71a5a8d2fb3b12d5a7cf33a34fdf754be",
        "d177461a7214c7aec3e6478f649a1012050c47e2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 07 00:43:49 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 07 00:43:49 2020 +0000"
      },
      "message": "Merge \"Fix bug in stats_event_benchmark\""
    },
    {
      "commit": "d177461a7214c7aec3e6478f649a1012050c47e2",
      "tree": "7c8a7f477f1ac003e3a2ce58f6048758809ff8dc",
      "parents": [
        "d8a8988c6e02cdaa00d97c84df2114cca27b5d6f"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Mon Jan 06 15:03:21 2020 -0800"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Mon Jan 06 23:10:51 2020 +0000"
      },
      "message": "Fix bug in stats_event_benchmark\n\nNow, the number of elements in each simulated stats_event is correctly\nsampled from a uniform distribution.\n\nRerunning the benchmarking tests indicates that truncating the buffer\nincreases the number of cycles require to log an event by only 1.6%.\n\nTest: m libstatssocket_benchmark\nTest: bit libstatssocket_benchmark:*\nChange-Id: I8d5c1734861038beec8eeb7ce1f84a24bde25a75\n"
    },
    {
      "commit": "5310401fe06eb8f3b2ef0ed36cbdf93a49f7da15",
      "tree": "53a41b4a422117e64d12575e7682bb177fadbf29",
      "parents": [
        "30e1452552a1b5c51f461932e285dd417725fdeb",
        "dada41d2cc9c86ece663666115b2b79eef9ed98c"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jan 06 21:41:15 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jan 06 21:41:15 2020 +0000"
      },
      "message": "Merge \"Expose libstatssocket as a stable C API\" am: 2ff1eac71a am: 1662e44207 am: dada41d2cc\n\nChange-Id: I33cd016ccbe2ce29b775b7a630c46bc00917114f\n"
    },
    {
      "commit": "2ff1eac71a5a8d2fb3b12d5a7cf33a34fdf754be",
      "tree": "7ec751dd9a71045ba072bcdd2f3aaaf254b0c576",
      "parents": [
        "c940977dd9963525a9ffd47249f3896c9a5e24df",
        "5dbcae50209e7284b6c3ebad05727ac741aee25d"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Mon Jan 06 20:57:55 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 06 20:57:55 2020 +0000"
      },
      "message": "Merge \"Expose libstatssocket as a stable C API\""
    },
    {
      "commit": "5dbcae50209e7284b6c3ebad05727ac741aee25d",
      "tree": "a76a503e9fe0a742d848371f7c3c0f5e799bf6ca",
      "parents": [
        "c9d8d2b7aa350433e4dc0da6f2209f9cb985c82c"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Thu Dec 19 15:44:58 2019 -0800"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Fri Dec 27 15:04:54 2019 -0800"
      },
      "message": "Expose libstatssocket as a stable C API\n\nWe create a .map.txt file that lists all the stable entry points into\nlibstatssocket. This should allow other APEXes to link to libstatssocket\nwithout having to copy the library within the APEX.\n\nTest: m -j libstatssocket\nBug: 146377784\nChange-Id: I9f77a0c380b6884d9ca60807a8974380420cfe0a\n"
    },
    {
      "commit": "a318188b705bf5e785582018405744f5e24d47f2",
      "tree": "949a36bac8c32cda6e1afb24d75868d3a10ad32c",
      "parents": [
        "a7c9d2e980c717a36c9fb8cc2edde7f9f9e5405d",
        "b2140e1246226fe387826b558be659e6e5796f94"
      ],
      "author": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 20 02:31:11 2019 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Dec 20 02:31:11 2019 +0000"
      },
      "message": "Merge \"Fix error checking in append_string\" am: e2e2b2d3d3 am: 33e2002540 am: b2140e1246\n\nChange-Id: I07dabf70064881875b5c6fd7522e9334dac3d8d9\n"
    },
    {
      "commit": "e2e2b2d3d37c975e93a58b7dc87e47c08baf0225",
      "tree": "10ca90ff8663f59b727789fbb859e99bea5df607",
      "parents": [
        "ee08c978d2d34b3ddac420f9cbdc6ec65286c1e8",
        "3bbc240263363df164e58dcc9c13690ea85702a7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 20 00:38:25 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 20 00:38:25 2019 +0000"
      },
      "message": "Merge \"Fix error checking in append_string\""
    },
    {
      "commit": "3bbc240263363df164e58dcc9c13690ea85702a7",
      "tree": "d51d7aa3b4edad895f69c5a3e2ab486f8e0b1f84",
      "parents": [
        "27fa358d41492e68d24a26de5906d9ce98397bb5"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Wed Dec 18 13:43:05 2019 -0800"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Thu Dec 19 14:57:10 2019 -0800"
      },
      "message": "Fix error checking in append_string\n\nTest: m -j\nChange-Id: Ifa806d5037acb17f83cbf45712e9795d6f56152f\n"
    },
    {
      "commit": "20516da9bc51c7c19e2332be7562cda6934502ae",
      "tree": "23c3d2e66f42c305bf01673eb94733968906d692",
      "parents": [
        "79dd3eaa878d35c7d586e4d2929356b3b0c1a79c"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Mon Dec 16 13:45:13 2019 -0800"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Wed Dec 18 17:48:28 2019 -0800"
      },
      "message": "Merge libstatspush_compat and libstatssocket_q\n\nThis cleanup makes it clear that there are only two acceptable ways of\nlogging to the socket: either through libstatspush_compat or\nlibstatssocket (which will soon be renamed to libstatspush).\n\nTest: m -j\nChange-Id: I467b08bc300c2ef394b22422c6acf55a978a380a\nMerged-In: I6a49b4995b56df462e1be901ea5e54acfe2e8bac\n"
    },
    {
      "commit": "79dd3eaa878d35c7d586e4d2929356b3b0c1a79c",
      "tree": "b6e9dc4e4e995aaadf9819cff57911f0856108d1",
      "parents": [
        "926fa88c3564eb4e641cd674cbdf379a4fff6da6"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Thu Dec 12 17:16:59 2019 -0800"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Wed Dec 18 17:44:26 2019 -0800"
      },
      "message": "Improve stats_event memory usage\n\nWe now truncate the buffer to the appropriate length when clients call\nstats_event_build().\n\nBenchmarking tests indicate that truncating the buffer to the\nappropriate length increases the cost clients pay to write to the socket\nby 2%. This is negligible enough that I decided to truncate the buffer\nfor both pushed and pulled atoms in order to simplify the API.\n\nTest: m libstatssocket\nTest: bit libstatssocket_benchmark:*\nBug: 144126231\nChange-Id: I35dec748ff87c0821d0d06779a406997e6e64966\nMerged-In: Ife976bb383ecff8de5064730692a95e2a3a82c9d\n"
    },
    {
      "commit": "926fa88c3564eb4e641cd674cbdf379a4fff6da6",
      "tree": "5815c9ca4189b9c06aebbcada6ffb83f97c85b24",
      "parents": [
        "a33f81bff517bc88773117ba4a802b4e07062d54"
      ],
      "author": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Tue Dec 10 18:46:23 2019 -0800"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Wed Dec 18 17:21:27 2019 -0800"
      },
      "message": "StatsEventCompat\n\nStatsEventCompat is a wrapper library that toggles between the old\nlogging scheme and the new logging scheme. It was designed particularly\nfor the DNS Resolver module and should not be used by others.\n\nWe will merge libstatspush_compat and libstatssocket_q in a future CL.\n\nTest: m libstatspush_compat\nTest: bit libstatspush_compat_test:* (passes on Q and R)\nBug: 145534143\n\nChange-Id: Ib355031f3573101ea90bd8694861fbfc33b0c788\nMerged-In: Idf35ccb6669798166475f08b2fbab40534b5db19\n"
    },
    {
      "commit": "a33f81bff517bc88773117ba4a802b4e07062d54",
      "tree": "4dce6fc151ab8079d1652a1c7f3c60ee024448a5",
      "parents": [
        "6d5a2fc44db51242146175a16beed686561db739"
      ],
      "author": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Wed Dec 04 16:49:46 2019 -0800"
      },
      "committer": {
        "name": "Ruchir Rastogi",
        "email": "ruchirr@google.com",
        "time": "Wed Dec 18 15:26:02 2019 -0800"
      },
      "message": "Remove libstats/Android.bp\n\nsubdirs is not needed\n\nTest: m -j\nChange-Id: Idc034571eadae9c3135324af45fb4cd404ba8dd2\nMerged-In: Ia7675fdf2e9a3a19bc52396ccbcc551556958803\n"
    }
  ],
  "next": "6d5a2fc44db51242146175a16beed686561db739"
}
