)]}'
{
  "commit": "85cf2933ccdd70f4f6d505c9aca36f063eddf229",
  "tree": "98e49583a361c7e2fce212d73e957e8249b51c5a",
  "parents": [
    "6fbd969c85adb53b82457a3fcf879c2b268103bf"
  ],
  "author": {
    "name": "Sean Dague",
    "email": "sean@dague.net",
    "time": "Mon Mar 27 15:35:13 2017 -0400"
  },
  "committer": {
    "name": "Clark Boylan",
    "email": "clark.boylan@gmail.com",
    "time": "Wed Jun 14 16:43:49 2017 -0700"
  },
  "message": "Provide timings for OSC during devstack run\n\nThe OSC number remain high, and it\u0027s useful to understand how much\ntime we spend making OSC calls, especially to surface it relative to\nother items. The way we embed this in our code makes it hard to\ninstrument.\n\nThis patch creates a wrapper function for OSC which collects the timings\nthen aliases `openstack` to that function. This means any invocations of\nthe openstack utility goes through our function while devstack is\nrunning. Because this is an alias it only affects the stack.sh shell and\nany subshells.\n\nThis also moves the time tracking infrastructure to count in ms,\ninstead of s, because some of these operations are close enough to a\nsecond that rounding early is losing way to many significant\ndigits. We divide by 1000 before reporting to the user.\n\nChange-Id: Ic5f1844ce732d447ee980b3c9fdc417f72482609\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ec68644757894620af90f2225361ee95dcb0eb49",
      "old_mode": 33188,
      "old_path": "functions-common",
      "new_id": "98e9a4bf66d1c4a1167cc13945272659198ba6c4",
      "new_mode": 33188,
      "new_path": "functions-common"
    },
    {
      "type": "modify",
      "old_id": "20cdc1dfcc25575ab01e603921bc9004afaca6a8",
      "old_mode": 33261,
      "old_path": "stack.sh",
      "new_id": "89b61fc2c55d1bceb3b478ca710f4c973c06b742",
      "new_mode": 33261,
      "new_path": "stack.sh"
    }
  ]
}
