)]}'
{
  "log": [
    {
      "commit": "430e0797c374e55abd3e6febfbd33edf56cd6979",
      "tree": "d40fb88da488cd9cbbb5f277eb56c2742e496943",
      "parents": [
        "d2bc3ac8c4d7e71975a8c99762b63307a5e6e449"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Mon Aug 14 20:40:24 2017 -0700"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Aug 15 16:06:11 2017 -0700"
      },
      "message": "Add dumpsys finish timestamp\n\nDumpsys are very helpful to debug issues.\nNevertheless a recurrent problem is that the dumpsys take time especially\nif multiple are taken like during a bug report generation.\nDue to this delay, it can be hard to understand during\nwhich logs a dumpsys was taken.\n\nThis commit changes the last line of a dumpsys to contain the time it\nwas generated.\nHere is an example:\n\n[... normal dumpsys...]\n    - Mix ID 8 I/O handle 37\n  - 1 sinks:\n    - Device ID 7 AUDIO_DEVICE_OUT_TELEPHONY_TX\nAudio Policy Mix:\n--------- 0.036s was the duration of dumpsys media.audio_policy, ending at: 2017-08-14 20:35:43\n\nThis patch adds the last part:\n*, ending at: 2017-08-14 20:35:43*\n\nBug: 64699427\nTest: adb bugreport\nTest:  mmm -j32 frameworks/native/cmds/dumpsys \u0026\u0026 adb sync data \u0026\u0026 adb shell /data/nativetest/dumpsys_test/dumpsys_test --gtest_filter\u003d-DumpsysTest.DumpRunningServiceTimeout\n       # DumpRunningServiceTimeout is broken independently of this patch\nChange-Id: I9873e7dd915b4f7cdd6eac5c44487ae5740fa805\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "2c3cd83603a7eefe7efe8c99cbe1c04b54cfe599",
      "tree": "dc94d368f8846e2e3748afe567249929fa98cf1c",
      "parents": [
        "c9bc03729be6aff621f68afd70174076cbafb981"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Feb 13 23:44:17 2017 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Feb 14 03:44:23 2017 +0000"
      },
      "message": "Revert \"dumpsys: add option to list hardware services.\"\n\nThis reverts commit 6270dd1bf7f4a6eaa0e36b2cbb0f9bdd4790b5d8.\n\nReason for revert: obsolete, removed in favor of lshal\nTest: dumpsys_test\n\nChange-Id: I06e256a5bd0995727a3d6f3f88f79a623b1474f3\n"
    },
    {
      "commit": "6270dd1bf7f4a6eaa0e36b2cbb0f9bdd4790b5d8",
      "tree": "2465f650b55037703a844fd630141154ee510c49",
      "parents": [
        "7ebfeb9d1c345b362a59973c9b12c1f045e8433a"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jan 20 15:24:51 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jan 20 18:59:03 2017 -0800"
      },
      "message": "dumpsys: add option to list hardware services.\n\nThis gives a convenient way to dump information about hidl services.\nWhen hidl services dump information themselves as well, that dump will\nbe made here as well.\n\nBug: 33382892\nTest: dumpsys_test, dumpsys --hw works as expected\nChange-Id: Ib08b5d052e63ed6260035ee8d3ad3dac296202b1\n"
    },
    {
      "commit": "343175a5ffeba6d1714336913a81b3029df73dbb",
      "tree": "cb955ab52423bdd5a364835077982cb5856e5f2a",
      "parents": [
        "b73de86f137e97159f1910272520e9ba33eb3831"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Aug 02 18:57:37 2016 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Jan 10 14:42:06 2017 -0800"
      },
      "message": "Added test cases to dumpsys.\n\nBUG: 28980245\nBUG: 33382892\n\nTest: dumpsys_test passes\n\nChange-Id: Ief6c21022abc74022256431351fd6eef789faf39\n(cherry picked from commit b6e244914deaffcdeea02deebf7c0da2643f601c)\n"
    },
    {
      "commit": "ebbfaf3fa3d56a2cd74e6bd4a5251c4e71ab8ae3",
      "tree": "3336bd2b40179fa1a2332749a1f244e5f80deb7a",
      "parents": [
        "ebe91de21e093651ebf2c4c88a22b404a2aaa645",
        "d1a3db64c5fd77c282d50a0f2bd7bd2296f73c9a"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Sep 21 01:12:46 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 21 01:12:46 2016 +0000"
      },
      "message": "Merge \"Rename unique_fd::clear to unique_fd::reset.\" am: f9f04003f5 am: 44bd6ca0d0\nam: d1a3db64c5\n\nChange-Id: Ica8691bfa5ff84dabe9e026dfae46e8093cf4fb4\n"
    },
    {
      "commit": "9656be18407d6efb0537afdbc7dcb5f0965c74fc",
      "tree": "f24a22b2df5816d2fa94d253dae7ef595e3fd470",
      "parents": [
        "75bb94fe7e90ab36f9dfd19577a5cdab491cca66"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Sep 19 12:44:50 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Sep 19 12:44:50 2016 -0700"
      },
      "message": "Rename unique_fd::clear to unique_fd::reset.\n\nTest: m checkbuild\nChange-Id: I8cbf2b538c270d8ef50ab6fdcf4fecbcd65899a8\n"
    },
    {
      "commit": "bca287d28450d4cc23382174c86de3c84e6a0b8f",
      "tree": "371f14e79a008ef43af66d4a546ae32c97a6d493",
      "parents": [
        "98650f0e33f39627d66feee73f03346e1055157a"
      ],
      "author": {
        "name": "mukesh agrawal",
        "email": "quiche@google.com",
        "time": "Wed Jul 27 12:01:49 2016 -0700"
      },
      "committer": {
        "name": "Hector Tellez",
        "email": "htellez@google.com",
        "time": "Thu Jul 28 19:43:12 2016 +0000"
      },
      "message": "dumpsys: fix formatting of service dump times\n\nThe current formatting of service dump times is\nconfusing some bugreport parsing tools. This is\nbecause the current service dump time message\nis hard to distinguish from the bugreport section\nmarker.\n\nAdjust the formatting, to make the service\ndump time message distinct from the bugreport\nsection marker.\n\nBUG\u003d30401031\nTEST\u003dmanual\n\nManual test\n$ adb bugreport /tmp/bugreport.zip\n$ cd /tmp\n$ mkdir br\n$ mv bugreport.zip br\n$ cd br\n$ grep \u0027was the duration\u0027 bugreport*.txt\n------ 4.283s was the duration of \u0027DUMPSYS MEMINFO\u0027 ------\n------ 0.053s was the duration of \u0027DUMPSYS CPUINFO\u0027 ------\n[...many lines omitted...]\n--------- 0.003s was the duration of dumpsys AtCmdFwd\n--------- 0.002s was the duration of dumpsys DockObserver\n[...many more lines omitted...]\n\nChange-Id: I9d3dd75210b3984240a4b7ab49a1cc6124a269d8\n(cherry picked from commit 50b7e039500b3decc78d5ffff9919d1481df4964)\n"
    },
    {
      "commit": "2f1eb1c16d6061ba4f79ecf67d08827bf74bed27",
      "tree": "b45310ac6d6af45fb44f44cbc4dbf10f58cf4dc9",
      "parents": [
        "9c1f9bb7205e59d4bdc6f9e9601bc4b3ef210b3b"
      ],
      "author": {
        "name": "mukesh agrawal",
        "email": "quiche@google.com",
        "time": "Wed Jun 08 18:16:36 2016 -0700"
      },
      "committer": {
        "name": "Mukesh Agrawal",
        "email": "quiche@google.com",
        "time": "Tue Jun 28 22:20:00 2016 +0000"
      },
      "message": "dumpsys: report per-service dump times\n\nIn WiFi soak testing, we\u0027ve seen several cases where\ndumpsys times out. We\u0027ve been unable to pin down the\ncause of the timeouts, as there\u0027s no single service\nthat is obviously hung.\n\nAdd reporting of service dump times, to help figure\nout why dumpsys is timing out.\n\nBUG\u003d29090949\nTEST\u003dmanual\n\nManual test\n- load build on bullhead\n$ adb shell dumpsys | grep \u0027was the duration\u0027\n- see non-zero values\n\nChange-Id: Iaba60d840ac55cba171a3ccbc74c2aee8b23dce6\n(cherry picked from commit 4e4c548437b7cc7748e97ecc74a525e26a441cdb)\n"
    },
    {
      "commit": "159a8323064d8550218bf31465e51cc5a5d14926",
      "tree": "d343667e9263ac0b8db6134ece9d114f29635cc5",
      "parents": [
        "5b817549fcea6f58bbeaaffbf654ddd8751ebbdc"
      ],
      "author": {
        "name": "Thierry Strudel",
        "email": "tstrudel@google.com",
        "time": "Wed Mar 23 11:22:34 2016 -0700"
      },
      "committer": {
        "name": "Thierry Strudel",
        "email": "tstrudel@google.com",
        "time": "Wed Mar 23 11:22:34 2016 -0700"
      },
      "message": "dumpsys: fix error condition\n\nBug: 27809529\nChange-Id: Ia2bdac83a367e1dd550ea7a5b50eac14d84f66b2\nSigned-off-by: Thierry Strudel \u003ctstrudel@google.com\u003e\n"
    },
    {
      "commit": "8b78b758a8b5b831c48562233df055c22e2541af",
      "tree": "9e2af85d186b6defe8a4cd5326cb11fbd7609bd2",
      "parents": [
        "2d4cd92a72209c2bda90d0ff7e44e117999f5d1d"
      ],
      "author": {
        "name": "Thierry Strudel",
        "email": "tstrudel@google.com",
        "time": "Tue Mar 22 10:25:44 2016 -0700"
      },
      "committer": {
        "name": "Thierry Strudel",
        "email": "tstrudel@google.com",
        "time": "Tue Mar 22 19:15:40 2016 -0700"
      },
      "message": "dumpsys: make timeout value an argument\n\nAlso rework the args parsing using getopt_long.\n\nBug: 27788406\nChange-Id: I60fd8e614616334d47b8de574f3c81a121a6ac0a\nSigned-off-by: Thierry Strudel \u003ctstrudel@google.com\u003e\n"
    },
    {
      "commit": "49f0a0cddbcad9be1d408425ee608ca925c6885b",
      "tree": "312fb4f156371107ed7091007b22dae73e35a5de",
      "parents": [
        "99dccfc3ec4b304d1ee3497ecbcc3322a84cf606"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Mar 04 13:12:29 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Mar 04 13:14:33 2016 -0800"
      },
      "message": "dumpsys: switch to using a pipe to work around selinux denial.\n\nSome services can\u0027t write to the socket that we were passing in, due to\nselinux policies. Use a pipe for now.\n\nBug: http://b/27500248\nChange-Id: Ic681121597a1717d31ef356bd6fe2c2daaa86d94\n"
    },
    {
      "commit": "4b8f6f9adb8ee1a06b145c8dc83a672f8d0ac80f",
      "tree": "95ed5fca46bde00682b40464ea70fefa4c6d5b2f",
      "parents": [
        "cc19ec809e45616449f332d2e72c754d7debf9fb"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Feb 29 16:20:34 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Mar 02 15:04:18 2016 -0800"
      },
      "message": "dumpsys: use a socket for dumping, add timeout support.\n\nPassing the stdout file descriptor directly to a service to dump with\nleads to bad things happening if the service hangs, or dumpsys is\nterminated prematurely. For example, `dumpsys foo | cat` will not\nterminate, even if the dumpsys process is killed, since the write end of\nthe pipe is still alive in the hung service.\n\nPass an intermediate socketpair when dumping services to avoid this.\n\nBug: http://b/26849443\nChange-Id: Ide18741080355b3c680275a59172c61734eca92d\n"
    },
    {
      "commit": "859aef6a32ba03aae8e487078deb469a3ff84e6b",
      "tree": "e2f1fa83f515fa39be7417ad308ee49e157cf72d",
      "parents": [
        "bbfd2b89434e57cb0720d59383b5bf5339492028"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Feb 03 12:17:10 2016 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Feb 03 14:07:41 2016 -0800"
      },
      "message": "Added --skip option to skip services.\n\nThis option will be used by dumpstate so critical services (like meminfo\nand cpuinfo) can be dumped earlier on and then skipped later (when the\nrest of the services are dumped).\n\nBUG: 26639621\nChange-Id: Ied61431c4d03d7d2eb010edd77872fb7e6bae3bd\n"
    },
    {
      "commit": "bbfd2b89434e57cb0720d59383b5bf5339492028",
      "tree": "c3ca3fc23c78cd0d6382dc880fd5d1a319c1c06d",
      "parents": [
        "858a4332ff17ebbfb57df4cbac76ce61cdaf63e7"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Feb 03 11:16:27 2016 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Feb 03 11:31:41 2016 -0800"
      },
      "message": "Added --help option to dumpsys.\n\nWhen invoked with --help, dumpsys will print:\n\nusage: dumpsys\n         To dump all services.\nor:\n       dumpsys [--help | -l | SERVICE [ARGS]]\n         --help: shows this help\n         -l: only list services, do not dump them\n         SERVICE: dumps only service SERVICE, optionally passing ARGS to it\n\nBUG: 26639621\nChange-Id: Ic7f7a5ec80fb3da1dc5a412b07ef2859d31b09d2\n"
    },
    {
      "commit": "caad555f3efaf77941c4eacd4f6c84eb22d14f6d",
      "tree": "6457569b5e3f05a1b18d278b4588c0ad69e04324",
      "parents": [
        "10e42969e6869c438244974495c9c71cdf3ec7be"
      ],
      "author": {
        "name": "keunyoung",
        "email": "keunyoung@google.com",
        "time": "Thu Jun 13 15:08:51 2013 -0700"
      },
      "committer": {
        "name": "keunyoung",
        "email": "keunyoung@google.com",
        "time": "Thu Jun 13 16:32:26 2013 -0700"
      },
      "message": "add dumpsys -l to list available services\n\n- for people with poor memory like me :)\n\nChange-Id: I60160ca333ac4864bb8328f164cc2e9eba3660fc\n"
    },
    {
      "commit": "002e1e58dfe19dd3e49a59c6827cbf51573941a2",
      "tree": "6dc444d7f05aa0512e3c97344d86ee0264daf869",
      "parents": [
        "b4f1a027cbadd4cd07341f60f859ae34643b68ae"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 06 20:20:50 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 07 18:28:11 2013 -0700"
      },
      "message": "libutils clean-up\n\nChange-Id: I6ff4cfc736751de2912c697f954e45e275f2d386\n"
    },
    {
      "commit": "3e03d3fb6a4cb93f5f978f9d2eed7b7cc62a06a6",
      "tree": "a8dca382de53cd551e3271fd8a2d8ef2f6bde77a",
      "parents": [
        "f30fd01497a53cbff8692721026c3f7b6830158e"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Fri May 11 14:14:09 2012 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Fri May 11 14:14:09 2012 -0700"
      },
      "message": "Ignore SIGPIPE is some of the tools used via bugreport\n\n adb bugreport \u003e b \u0026 sleep 5; kill $?\nwill show that a bunch of tools will SIGPIPE when trying to output data\nwhich is normal.\nWe don\u0027t have a way on linux (bsd yes), to set NOSIGPIPE on the file desc\npassed down via fork/exec.\n\nBug: 6447319\nChange-Id: I25b30a823addcff89d252f162d0a07035d4fdd3f\n"
    },
    {
      "commit": "f45fa6b2853cc32385375a0b63ee39ad6a968869",
      "tree": "33431fa079d31895b73cc18f8d9ce833105d5c44",
      "parents": [
        "0b94dcd03d8764eab7f1fb00f0f1f37904732aa1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Mar 26 12:38:26 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Mar 26 12:39:26 2012 -0700"
      },
      "message": "move dumpstate and dumpsys from frameworks/base to frameworks/native\n\nChange-Id: I8a5318022ce5cd3e7c8055f21fe5da74639aa6c0\n"
    }
  ]
}
