)]}'
{
  "log": [
    {
      "commit": "46c9cb748c3819f56e46c32ef1ac852542cf1395",
      "tree": "2743b949d7912c7705301d721a64e8bed7260b45",
      "parents": [
        "61f92ca846e68fa9264ca3ddd3ac569b4a09864b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Wed Apr 23 20:26:38 2014"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Apr 24 02:04:28 2014"
      },
      "message": "log_unit_tests: fix unittest delete\n\nThe code uses \"new[...]\" but then uses \"delete\" instead of \"delete[]\".\nThis is why ASAN has been barfing on us:\n\u003d\u003d15739\u003d\u003dERROR: AddressSanitizer: alloc-dealloc-mismatch (operator new [] vs operator delete) on 0x60300000eb00\n    #0 0x4774cb in operator delete(void*) (.../log_unit_test+0x4774cb)\n    #1 0x49be55 in (anonymous namespace)::ValidateEventFileContents(std::string const\u0026, std::string const\u0026) .../log_unit_tests.cc:96\n    ...\n0x60300000eb00 is located 0 bytes inside of 23-byte region [0x60300000eb00,0x60300000eb17)\nallocated by thread T0 here:\n    #0 0x4770db in operator new[](unsigned long) (.../log_unit_test+0x4770db)\n    ...\nSUMMARY: AddressSanitizer: alloc-dealloc-mismatch ??:0 operator delete(void*)\n\nBUG\u003dchromium:335808\nTEST\u003d`FEATURES\u003dtest emerge-amd64-generic-asan bootstat` now passes\n\nChange-Id: I0cdfa4d57647cc7ef6aa5469544f34041a5b0124\nReviewed-on: https://chromium-review.googlesource.com/196473\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "61f92ca846e68fa9264ca3ddd3ac569b4a09864b",
      "tree": "b788166ec03cd89844971439aeb40405cd0f353c",
      "parents": [
        "b88028ab64c435d23f18729925889a61bd17b9c2"
      ],
      "author": {
        "name": "Gaurav Shah",
        "email": "gauravsh@chromium.org",
        "time": "Thu Apr 17 19:44:10 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Apr 22 22:25:25 2014"
      },
      "message": "bootstat: Do not hardcode root disk statistics file based on architecture\n\nInstead determine it dynamically via rootdev.\n\nBUG\u003dchromium:335808\nTEST\u003dunit tests, built and run on x86 and arm.\nTEST\u003demerge-mipsel-o32-generic bootstat\n\nCQ-DEPEND\u003dCL:195481\n\nChange-Id: Ic3aa43a284033311aa69fd3bfd25bd0bec643446\nReviewed-on: https://chromium-review.googlesource.com/195480\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Gaurav Shah \u003cgauravsh@chromium.org\u003e\nCommit-Queue: Gaurav Shah \u003cgauravsh@chromium.org\u003e\n"
    },
    {
      "commit": "b88028ab64c435d23f18729925889a61bd17b9c2",
      "tree": "97b31fa216314270adaf2cec4270b0b97eb31227",
      "parents": [
        "8e05e0de29e20e5d3b19acc37eb3a947ccb4eff4"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Mon Feb 03 20:56:13 2014"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Feb 05 03:22:28 2014"
      },
      "message": "simplify usage\n\nThere is no reason to strdup the string (even with the POSIX basename),\nso drop that.\n\nFurther, we want to use the GNU variant which doesn\u0027t modify its argument,\nso drop the libgen.h include.  The string.h header will provide the sane\nvariant.\n\nBUG\u003dNone\nTEST\u003dbuilt \u0026 ran bootstat\n\nChange-Id: I9cd55e0ce064c0a04e9f13c503b334cb98b065c1\nReviewed-on: https://chromium-review.googlesource.com/184626\nReviewed-by: Richard Barnette \u003cjrbarnette@chromium.org\u003e\nTested-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "8e05e0de29e20e5d3b19acc37eb3a947ccb4eff4",
      "tree": "5cb5f867d8381ad2d777b9e2a0f32e0bc80a1189",
      "parents": [
        "eff0a3018acbe864ba94df73efbe3747121b373f"
      ],
      "author": {
        "name": "Albert Chaulk",
        "email": "achaulk@chromium.org",
        "time": "Tue Oct 22 20:25:30 2013"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Oct 23 04:09:20 2013"
      },
      "message": "Fix arm build\n\nBUG\u003dchromium:304400\nTEST\u003dcros_run_unit_tests --board daisy-drm\n\nChange-Id: I5fab26676557291bf12fbc4ad6b400b4ea67fd30\nReviewed-on: https://chromium-review.googlesource.com/174083\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nCommit-Queue: Albert Chaulk \u003cachaulk@chromium.org\u003e\nTested-by: Albert Chaulk \u003cachaulk@chromium.org\u003e\n"
    },
    {
      "commit": "eff0a3018acbe864ba94df73efbe3747121b373f",
      "tree": "853382491ba40eb2708cb6061674b42cf6a20799",
      "parents": [
        "8c8b11d8e359b11e36f4be80bd52ac12688ce24c"
      ],
      "author": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Wed Sep 04 20:19:22 2013"
      },
      "committer": {
        "name": "Chrome Cron",
        "email": "account-1103494@chromium-review.googlesource.com",
        "time": "Fri Sep 06 21:09:31 2013"
      },
      "message": "Add bootstat_archive to save bootstat files at shutdown.\n\nThis adds a new `bootstat_archive` command that will save the\ncurrent bootstat files in /tmp to a specified directory.  The\ncommand will allow preserving boot time data past reboot, which\nwill prevent losing diagnostic information about boot time\nanomalies when rebooting.\n\nThis also adds a new feature to bootstat_summary to allow using\na saved archive directory, to make it easy to look at historical\nboot time data on a device.\n\nBUG\u003dchromium:276767\nTEST\u003dintegration testing with other changes\n\nChange-Id: I7078372e8b924d99df34b2238ced835820143733\nReviewed-on: https://chromium-review.googlesource.com/168070\nTested-by: Richard Barnette \u003cjrbarnette@chromium.org\u003e\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCommit-Queue: Richard Barnette \u003cjrbarnette@chromium.org\u003e\n"
    },
    {
      "commit": "8c8b11d8e359b11e36f4be80bd52ac12688ce24c",
      "tree": "c7a20f72386199459cac5b15a4e37d70cfac5a54",
      "parents": [
        "6bd4cc56d8060900acdfeb28cd4d9cb65fbd56ed"
      ],
      "author": {
        "name": "Greg Spencer",
        "email": "gspencer@chromium.org",
        "time": "Tue Aug 13 22:48:20 2013"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Tue Aug 20 00:29:43 2013"
      },
      "message": "Some cleanup of bootstat scripts\n\nCleaned up boostat_summary output so that it no longer prints huge\nnegative numbers when the delta is zero, and so that the columns\noverflow less often.\n\nAdded millisecond output to bootstat_get_last (with \"time-ms\"\nargument) so that scripts using it can use builtin bash integer\narithmetic instead of having to invoke awk to manipulate times (makes\nthe client code simpler). (this is used by code that fixes referenced\nbug).\n\nBUG\u003dchromium:271068\nTEST\u003dran on device (Pixel)\n\nChange-Id: Ieb98c6779dd06310c0c2b3bb2dd4c9b48af13bc5\nReviewed-on: https://gerrit.chromium.org/gerrit/65753\nTested-by: Greg Spencer \u003cgspencer@chromium.org\u003e\nReviewed-by: Richard Barnette \u003cjrbarnette@chromium.org\u003e\nCommit-Queue: Greg Spencer \u003cgspencer@chromium.org\u003e\n"
    },
    {
      "commit": "6bd4cc56d8060900acdfeb28cd4d9cb65fbd56ed",
      "tree": "7b41af0c3e34626d2374274f77ca0fdb489e0034",
      "parents": [
        "7cbe18c6f1b8446d486a501a94297e6b04128b6d"
      ],
      "author": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Mon Apr 22 21:37:29 2013"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Mon Apr 22 23:44:39 2013"
      },
      "message": "Enhance bootstat_summary to accept a list of events.\n\nIf provided with arguments, the script will summarize only the named\nevents.  If no arguments are provided, the script summarizes all\navailable events, just as before.\n\nBUG\u003dNone\nTEST\u003drun the command with and without arguments\n\nChange-Id: I21fdcced548d5a1d63c62b8e40f3817342319c46\nReviewed-on: https://gerrit.chromium.org/gerrit/48821\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nCommit-Queue: Richard Barnette \u003cjrbarnette@chromium.org\u003e\nTested-by: Richard Barnette \u003cjrbarnette@chromium.org\u003e\nReviewed-by: Sonny Rao \u003csonnyrao@chromium.org\u003e\n"
    },
    {
      "commit": "7cbe18c6f1b8446d486a501a94297e6b04128b6d",
      "tree": "b5ef87a2635b6cbba9816bf32c256b3cdec80cef",
      "parents": [
        "fc6ef06595fd052fbecc6814fb5118cb3efcff94"
      ],
      "author": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Wed Jun 27 21:51:48 2012"
      },
      "committer": {
        "name": "Gerrit",
        "email": "chrome-bot@google.com",
        "time": "Thu Jun 28 20:06:30 2012"
      },
      "message": "For bootstat_get_last, don\u0027t complain about non-existent events.\n\nRequested events are converted into files to be processed by\n\u0027tail -1\u0027.  If the file doesn\u0027t exist, tail complains.  We don\u0027t\nwant the complaint, because this command is meant to be used to test\nfor non-existent events.\n\nBUG\u003dchromium-os:32203\nTEST\u003drun the test from the bug report\n\nChange-Id: I0c76f531e84ad71470394793cc1e2cdfe977e3df\nReviewed-on: https://gerrit.chromium.org/gerrit/26271\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nTested-by: Richard Barnette \u003cjrbarnette@chromium.org\u003e\nCommit-Ready: Richard Barnette \u003cjrbarnette@chromium.org\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\n"
    },
    {
      "commit": "fc6ef06595fd052fbecc6814fb5118cb3efcff94",
      "tree": "e87cb0ba1a01ea98ae1f03ebca398b64f60eb539",
      "parents": [
        "ebfb21981f7309379d072140a775e4b3b3e2d05b"
      ],
      "author": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Wed Jun 27 21:55:36 2012"
      },
      "committer": {
        "name": "Gerrit",
        "email": "chrome-bot@google.com",
        "time": "Thu Jun 28 00:40:38 2012"
      },
      "message": "Add a new \u0027bootstat_summary\u0027 command.\n\nThe command prints a simple summary of boot phase timings and\nCPU utilization.\n\nBUG\u003dNone\nTEST\u003drun the command from shell prompt\n\nChange-Id: Ibf53369572808bb80b9cb0dc1e6c77742c2f8857\nReviewed-on: https://gerrit.chromium.org/gerrit/26270\nTested-by: Richard Barnette \u003cjrbarnette@chromium.org\u003e\nReviewed-by: Daniel Erat \u003cderat@chromium.org\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCommit-Ready: Richard Barnette \u003cjrbarnette@chromium.org\u003e\n"
    },
    {
      "commit": "ebfb21981f7309379d072140a775e4b3b3e2d05b",
      "tree": "b1d33fcdcea52db5eb53f8edcf68bc28f4b7cdf1",
      "parents": [
        "0b17309ebe501729960b52c1b69d07f49b79e7c7"
      ],
      "author": {
        "name": "Elly Jones",
        "email": "ellyjones@chromium.org",
        "time": "Fri Apr 06 17:39:10 2012"
      },
      "committer": {
        "name": "Gerrit",
        "email": "chrome-bot@google.com",
        "time": "Fri Apr 06 18:28:33 2012"
      },
      "message": "[bootstat] add OWNERS\n\nTEST\u003dNone\nBUG\u003dchromium-os:22007\n\nChange-Id: If4befce7fab22dbdeb50c5fccd8357380c91e85a\nSigned-off-by: Elly Jones \u003cellyjones@chromium.org\u003e\nReviewed-on: https://gerrit.chromium.org/gerrit/19756\nReviewed-by: Richard Barnette \u003cjrbarnette@chromium.org\u003e\n"
    },
    {
      "commit": "0b17309ebe501729960b52c1b69d07f49b79e7c7",
      "tree": "c3e767917fb1dc02d5993996047b1b11d1ed2d8e",
      "parents": [
        "fdc99c49ad91a1db1d023ff28626ae28e700a9e5"
      ],
      "author": {
        "name": "Da Zheng",
        "email": "zhengda@google.com",
        "time": "Wed Jul 27 02:14:28 2011"
      },
      "committer": {
        "name": "Da Zheng",
        "email": "zhengda@chromium.org",
        "time": "Thu Aug 25 18:00:01 2011"
      },
      "message": "bootstat write timing to the kernel.\n\nBUG\u003dchromium-os:19176\nTEST\u003dTest it on ChromeOS, and /sys/kernel/debug/bootstat/report contains\nall timings written by bootstat.\n\nChange-Id: I25a2e0aec1b24f52047c7bc97f0ad40f78009a8b\nReviewed-on: http://gerrit.chromium.org/gerrit/6598\nReviewed-by: Simon Glass \u003csjg@chromium.org\u003e\nTested-by: Da Zheng \u003czhengda@chromium.org\u003e\n"
    },
    {
      "commit": "fdc99c49ad91a1db1d023ff28626ae28e700a9e5",
      "tree": "12017128428c29f68c7e7e759d1a5452055d1b3a",
      "parents": [
        "6076429379970fa9c46ba3d9ba65c9a36ff9d9eb"
      ],
      "author": {
        "name": "Vadim Bendebury",
        "email": "vbendeb@chromium.org",
        "time": "Wed Aug 24 18:50:33 2011"
      },
      "committer": {
        "name": "Vadim Bendebury",
        "email": "vbendeb@chromium.org",
        "time": "Wed Aug 24 18:52:08 2011"
      },
      "message": "Revert \"bootstat write timing to the kernel.\"\n\nThis reverts commit 13ce71d9e8fac31a269425aca34e106f1ff46a88\n\nThe problem can be seen in http://build.chromium.org/p/chromiumos/builders/x86%20generic%20PFQ/builds/525/steps/BuildTarget/logs/stdio\n\nNEVER COMMIT ANYTHING WITHOUT TESTING, EVEN ONELINERS!!!!\n\nChange-Id: I3f68b0c72daa3f8d3bc6980074e2c11dda546001\nReviewed-on: http://gerrit.chromium.org/gerrit/6593\nReviewed-by: Vadim Bendebury \u003cvbendeb@chromium.org\u003e\nTested-by: Vadim Bendebury \u003cvbendeb@chromium.org\u003e\n"
    },
    {
      "commit": "6076429379970fa9c46ba3d9ba65c9a36ff9d9eb",
      "tree": "777718e8e425c2aba218c6a37b0a6061d61ea968",
      "parents": [
        "d7900e66784a56cec4ac1205a90a317dced15dfb"
      ],
      "author": {
        "name": "Da Zheng",
        "email": "zhengda@google.com",
        "time": "Wed Jul 27 02:14:28 2011"
      },
      "committer": {
        "name": "Da Zheng",
        "email": "zhengda@chromium.org",
        "time": "Wed Aug 24 18:02:21 2011"
      },
      "message": "bootstat write timing to the kernel.\n\nBUG\u003dchromium-os:19176\nTEST\u003dTest it on ChromeOS, and /sys/kernel/debug/bootstat/report contains\nall timings written by bootstat.\n\nChange-Id: I83998dc71ba0d521cdbf7ba0edac6bada35495a6\nReviewed-on: http://gerrit.chromium.org/gerrit/5503\nReviewed-by: Simon Glass \u003csjg@chromium.org\u003e\nReviewed-by: Richard Barnette \u003cjrbarnette@chromium.org\u003e\nTested-by: Da Zheng \u003czhengda@chromium.org\u003e\n"
    },
    {
      "commit": "d7900e66784a56cec4ac1205a90a317dced15dfb",
      "tree": "12017128428c29f68c7e7e759d1a5452055d1b3a",
      "parents": [
        "bc198e5cc387ae0571a1f898f7d70c56c5c5c3b1"
      ],
      "author": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Wed Jul 06 21:34:40 2011"
      },
      "committer": {
        "name": "Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Fri Jul 08 18:42:51 2011"
      },
      "message": "Use O_NOFOLLOW in bootstat_log() when opening event files.\n\nBUG\u003dchromium-os:16611\nTEST\u003dunit test\n\nChange-Id: I59f06b680d1477029f749165a87d05c7700ee735\nReviewed-on: http://gerrit.chromium.org/gerrit/3689\nTested-by: Richard Barnette \u003cjrbarnette@chromium.org\u003e\nReviewed-by: Jim Hebert \u003cjimhebert@chromium.org\u003e\n"
    },
    {
      "commit": "bc198e5cc387ae0571a1f898f7d70c56c5c5c3b1",
      "tree": "40300d5822f27dda4370c8d4bc22c6719fd4e325",
      "parents": [
        "dda03f9f6d39345ed13ec2ad55e52552bb9c0d7c"
      ],
      "author": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Tue Dec 07 18:18:43 2010"
      },
      "committer": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Tue Dec 07 18:18:43 2010"
      },
      "message": "Add new bootstat_last command\n\nBUG\u003dchromium-os:9701\nTEST\u003dNone\n\nReview URL: http://codereview.chromium.org/5265008\n\nChange-Id: I60f506485a0b64f3d516611f3edac7098730a34b\n"
    },
    {
      "commit": "dda03f9f6d39345ed13ec2ad55e52552bb9c0d7c",
      "tree": "344ceea88fe0d6a4bbf97741c8ffd68f8fb41fb8",
      "parents": [
        "7ec2bb6a4c91f8573be981812b1f58868198b259"
      ],
      "author": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Tue Dec 07 01:58:00 2010"
      },
      "committer": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Tue Dec 07 01:58:00 2010"
      },
      "message": "Eliminate the dependency on kernel pseudo-files when running unit tests\n\nThis change means that the unit tests no longer need /proc/uptime\nor /sys/block/sda/stat in order to operate properly.\n\nAs an added bonus, this change enables testing that the output of\nbootstat_log() exactly matches the expected content.\n\nBUG\u003dchromium-os:8311\nTEST\u003dRun the unit tests\n\nReview URL: http://codereview.chromium.org/5500001\n\nChange-Id: I8a6382ebb9eb3c78c3109f9e12f5b87dfe334a00\n"
    },
    {
      "commit": "7ec2bb6a4c91f8573be981812b1f58868198b259",
      "tree": "18d9b266a9a37eb68f7b547398be5b6d2c51bea9",
      "parents": [
        "fe9f50c207a9827c2fd5ab3f3f20a3d5a1033078"
      ],
      "author": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Tue Aug 17 02:33:29 2010"
      },
      "committer": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Tue Aug 17 02:33:29 2010"
      },
      "message": "Create a bootstat library for external C and C++ programs\n\nBUG\u003dnone\nTEST\u003demerge-x86-generic bootstat\n\nReview URL: http://codereview.chromium.org/3129002\n"
    },
    {
      "commit": "fe9f50c207a9827c2fd5ab3f3f20a3d5a1033078",
      "tree": "6da0054734bffda55804f6a99b80351021ae09b8",
      "parents": [
        "6a3d3e9c3d048f17066bcb5356d4a70d32541096"
      ],
      "author": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Mon Aug 09 18:39:20 2010"
      },
      "committer": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Mon Aug 09 18:39:20 2010"
      },
      "message": "Create bootstat command\n\nBUG\u003dnone\nTEST\u003dbuild on host and use command as described in README file\nTEST\u003demerge-x86-generic, and test on target\nTEST\u003demerge-arm-generic to confirm clean compile on ARM\n\nReview URL: http://codereview.chromium.org/3043047\n"
    },
    {
      "commit": "6a3d3e9c3d048f17066bcb5356d4a70d32541096",
      "tree": "c66f63a30133e62cbd949ef668dba4f63d5b2efa",
      "parents": [
        "06b9de739e9437e91a87dcc26a3fadd045ce3c86"
      ],
      "author": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Thu Aug 05 21:13:48 2010"
      },
      "committer": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Thu Aug 05 21:13:48 2010"
      },
      "message": "Add LICENSE file\n"
    },
    {
      "commit": "06b9de739e9437e91a87dcc26a3fadd045ce3c86",
      "tree": "11e8c9ebeb17ccdb7de211eaf186c7d38a513e59",
      "parents": [],
      "author": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Mon Aug 02 22:08:04 2010"
      },
      "committer": {
        "name": "J. Richard Barnette",
        "email": "jrbarnette@chromium.org",
        "time": "Mon Aug 02 22:08:04 2010"
      },
      "message": "initial repository with README\n"
    }
  ]
}
