)]}'
{
  "log": [
    {
      "commit": "42b993041ee851317b30106ebf2a0f91cdcfc194",
      "tree": "18eedc1649405cc32492b86972c16dbf7ee56edc",
      "parents": [
        "bc09c4795886053e60a45fcc0e9e85b8f54c86bf"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 10 12:01:18 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 10 13:08:53 2020 -0800"
      },
      "message": "MediaMetrics:LockWrap: Use recursive mutex.\n\nBecause one might reference the object twice when\nthe end of the full expression goes to ;\n\nTest: atest mediametrics_tests\nBug: 138583596\nChange-Id: I80ced3af615578d63310acaf70142be900855902\n"
    },
    {
      "commit": "0f7ad8cd2c109b224e4f652d6c216e1105953d79",
      "tree": "3091563a5833d203a6816d1e294025e9c1c35ab6",
      "parents": [
        "9468f951e6b85446ddde11f2dfce060caaa5f261"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 03 13:24:34 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 07 15:32:39 2020 -0800"
      },
      "message": "MediaMetrics: Add AnalyticsActions and AnalyticsState\n\nFactor out common analytics code from audio specifics.\n\nAllow for saving and clearing analytics state if audioserver crashes.\n\nTest: atest mediametrics_tests\nTest: instrumented check on audioserver restart\nBug: 138583596\nChange-Id: I1073f3ef95f44a383a7f14b0c2ea6f978a84ee24\n"
    }
  ]
}
