)]}'
{
  "log": [
    {
      "commit": "4f414bd7a76fc7ff063db70d1cdd09303c28cbe5",
      "tree": "9c05d4e13d3325b1c85ac5bf54914aace7f0e9ea",
      "parents": [
        "075997f12e2fb2b646172a92926be0f26f739099"
      ],
      "author": {
        "name": "Jack Wang",
        "email": "jackwang@google.com",
        "time": "Fri Nov 06 20:53:47 2009 -0800"
      },
      "committer": {
        "name": "Jack Wang",
        "email": "jackwang@google.com",
        "time": "Tue Nov 10 19:26:14 2009 -0800"
      },
      "message": "Make perf metrics collection \u0026 output via instrumentation simpler\n\n- Added includeDetailedStats metadata to TimedTest for collecting additional\n  metrics like memory usage and binder transactions\n- Added PerformanceCollectorTestCase interface for hard-typing test class as\n  performance test while still able to inherit from instrumenation test classes\n- Reverted previous changes to PerformanceTestBase, will deprecate\n  PerformanceTestBase/Case in a future CL\n- Removed \u0027performance.\u0027 prefix from keys written to instrumentation output\n"
    },
    {
      "commit": "075997f12e2fb2b646172a92926be0f26f739099",
      "tree": "80752d7d775d710f8be21f405a0f0979b67e110f",
      "parents": [
        "59625fa86ad0e520931361aba120e2d868f01618"
      ],
      "author": {
        "name": "Jack Wang",
        "email": "jackwang@google.com",
        "time": "Tue Oct 27 22:01:09 2009 -0700"
      },
      "committer": {
        "name": "Jack Wang",
        "email": "jackwang@google.com",
        "time": "Wed Oct 28 14:32:05 2009 -0700"
      },
      "message": "PerformanceCollector: Collect \u0026 report perf measurements in key/value form\n\n- Added new functions to PerformanceCollector and PerformanceResultsWriter\n- Modified unit tests to test new functionality and fix flakiness reported in\n  2218327 and 2118268\n- Added PerformanceCollectorTest to small suite\n"
    },
    {
      "commit": "ff1df69dd4835c177c724e1b5f1ba02d1f674047",
      "tree": "6112d867f442b998d4ecca304c015bb17cbe74fe",
      "parents": [
        "38eeac305a188b7ea4f586071c1d467c3f952be6"
      ],
      "author": {
        "name": "Jack Wang",
        "email": "jackwang@google.com",
        "time": "Wed Aug 26 17:19:13 2009 -0700"
      },
      "committer": {
        "name": "Jack Wang",
        "email": "jackwang@google.com",
        "time": "Fri Sep 11 17:15:15 2009 -0700"
      },
      "message": "Performance measurement framework:\n\n+ For bug 1810508\n  - Added PerformanceCollector class to collect runtime and memory usage data\n    * Moved performance snapshotting from Intrumentation to PerformanceCollector\n  - Added PerformanceResultsWriter interface which defines functions for\n    reporting performance data\n\n+ Framework integration\n  - Added TimedTest annotation to automatically time tests and write results\n    to instrumentation output\n  - Modified PerformanceTestBase to add collection hooks and wrapper methods\n  - Modified WatcherResultPrinter in InstrumentationTestRunner to implement\n    PerformanceResultsWriter for instrumentation output of performance data\n  - Modified InstrumentationTestRunner and AndroidTestRunner to pass writer\n    instance to test\n"
    },
    {
      "commit": "7aba54b2edcb94f43c991c555b23fc1de364835e",
      "tree": "236e10de49ded0f19999f0669ebc66d5273c19c7",
      "parents": [
        "617b22dc075bbf704421adf15f39388ec098b4fd"
      ],
      "author": {
        "name": "Jack Wang",
        "email": "jackwang@google.com",
        "time": "Thu Aug 20 19:20:54 2009 -0700"
      },
      "committer": {
        "name": "Jack Wang",
        "email": "jackwang@google.com",
        "time": "Tue Aug 25 12:44:56 2009 -0700"
      },
      "message": "Fix bug 1546445: Correct spelling errors in API\n- InstrumentationTestCase.injectInsrumentation\n- AndroidTestRunner.setInstrumentaiton\n"
    },
    {
      "commit": "51e03642cee5a695d6ff6f5b318925efcab05100",
      "tree": "885dc4b34b491dd2ac6bfb4ab80a3315c7faba40",
      "parents": [
        "1e2e44e900cb9a25d548e27a20d65292a7f321bc"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Thu May 28 18:18:15 2009 -0700"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Thu May 28 18:26:26 2009 -0700"
      },
      "message": "Change code coverage to write to app data folder rather than sdcard.\n\nThe InstrumentationTestRunner would previously write code coverage data to the sdcard. With the recent SDCARD_WRITE permission addition, generating code coverage would fail if test app did not declare the SDCARD_WRITE permission. This CL changes InstrumentationTestRunner so by default, the coverage data is saved to the app\u0027s private data folder. At the test run conclusion it outputs the path to this file so runtest or another test harness find the path to the coverage file.\n"
    },
    {
      "commit": "da13ef5dca5cac0e89b82a6d7360a575610b7bcc",
      "tree": "3aba3be6e822b51bf9ebafb7dc8ab5696aa58ac3",
      "parents": [
        "2170312ab0b6766e8b73b806efbe6abdbb702bbc"
      ],
      "author": {
        "name": "Urs Grob",
        "email": "",
        "time": "Fri Apr 17 11:30:14 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Apr 17 11:30:14 2009 -0700"
      },
      "message": "AI 146743: am: CL 146711 Enhancing the test runner. Now it filters BrokenTests and only executes tests\n  annotated with SideEffect if the host is running in single test mode.\n  Also adding some cleanup mechanism and some logcat logging about memory consumption\n  Original author: ursg\n  Merged from: //branches/cupcake/...\n\nAutomated import of CL 146743\n"
    },
    {
      "commit": "61b10ac95de29c3ff826250cf12b04b932e0cfd7",
      "tree": "0702f5b50029803905073a8a8d5cfb968b45deb1",
      "parents": [
        "fb43fea68a00b7b147992b52b86305f6fbc1548e"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "",
        "time": "Tue Mar 31 17:04:34 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 31 17:04:34 2009 -0700"
      },
      "message": "AI 143870: am: CL 143869 Change InstrumentationTestRunner so all tests in the application are run when no other arguments are supplied, instead of running only tests in the app\u0027s package.\n  Original author: brettchabot\n  Merged from: //branches/cupcake/...\n\nAutomated import of CL 143870\n"
    },
    {
      "commit": "9066cfe9886ac131c34d59ed0e2d287b0e3c0087",
      "tree": "d88beb88001f2482911e3d28e43833b50e4b4e97",
      "parents": [
        "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "076357b8567458d4b6dfdcf839ef751634cd2bfb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d24b8183b93e781080b2c16c487e60d51c12da31",
      "tree": "fbb89154858984eb8e41556da7e9433040d55cd4",
      "parents": [
        "f1e484acb594a726fb57ad0ae4cfe902c7f35858"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@130745\n"
    },
    {
      "commit": "f013e1afd1e68af5e3b868c26a653bbfb39538f8",
      "tree": "7ad6c8fd9c7b55f4b4017171dec1cb760bbd26bf",
      "parents": [
        "e70cfafe580c6f2994c4827cd8a534aabf3eb05c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "54b6cfa9a9e5b861a9930af873580d6dc20f773c",
      "tree": "35051494d2af230dce54d6b31c6af8fc24091316",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
