)]}'
{
  "commit": "b3d64ea970302a83313465992105004ebc934b7c",
  "tree": "5eb35911aaa61454e463d197f00eefec8420fb4e",
  "parents": [
    "b246bae5cb572277da5c8d8c428c5cd0d6aa111b"
  ],
  "author": {
    "name": "Fabio Ponciroli",
    "email": "ponch78@gmail.com",
    "time": "Wed Sep 07 09:32:23 2022 +0200"
  },
  "committer": {
    "name": "Fabio Ponciroli",
    "email": "ponch78@gmail.com",
    "time": "Wed Sep 21 10:56:59 2022 -0500"
  },
  "message": "Collect metrics asynchronously\n\nSubmit metrics collection tasks to the UpdateGitMetricsExecutor.\nThis will allow the parallelization of metrics collection\nby tuning the pool size dedicated to the plugin.\n\nThe thread pool is currently hardcoded but it will become\nconfigurable [1].\n\nWith this implementation the only parallelization allowed\nis at MetricsCollector level.\n\nCurrently we have 2 MetricsCollectors, hence `2 * numberOfUpdatedProjects`\ntasks will concur on the same thread pool.\n\nWe could introduce more concurrency on the File System metrics\ncollection by processing the `Stream\u003cPath\u003e` in parallel.\nHowever, since these metrics are not real-time by design, it is\nprobably better to avoid being too aggressive on the file system.\n\n[1]: https://bugs.chromium.org/p/gerrit/issues/detail?id\u003d16248\n\nChange-Id: I781a56a27d2abf3cda7a68967ab805d2a46b5349\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "82e75856498b7c0f95cb9c3f862ca08341b86f34",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/UpdateGitMetricsExecutor.java",
      "new_id": "be5ed724c962dd9b2af7a54affccee2f48b141a0",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/UpdateGitMetricsExecutor.java"
    },
    {
      "type": "modify",
      "old_id": "7bdfb95a8c499e88d595fa89d219a15972e6c308",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/UpdateGitMetricsTask.java",
      "new_id": "6163a42a300448155b41541d3bb5ea596bec2e64",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/UpdateGitMetricsTask.java"
    },
    {
      "type": "modify",
      "old_id": "21428308949801dd83e624adcf2d9ad24520facd",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/collectors/FSMetricsCollector.java",
      "new_id": "b2a66c7c42241dd07529253367f2140c085e9f4e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/collectors/FSMetricsCollector.java"
    },
    {
      "type": "modify",
      "old_id": "6e65fb56794c4477b3e4f4e426230c0d324aab9f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/collectors/GitStatsMetricsCollector.java",
      "new_id": "fe6b700d5911ddb0bb333048efabba375ba90f00",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/collectors/GitStatsMetricsCollector.java"
    },
    {
      "type": "modify",
      "old_id": "b4114f5f08a72ad1830c6067f49c23026ef29f46",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/collectors/MetricsCollector.java",
      "new_id": "dcff8e8a0114835d36e577b96df73971937bf973",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/collectors/MetricsCollector.java"
    },
    {
      "type": "modify",
      "old_id": "a24707bc5f559ea9a40870d8db171e32b1bd4122",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/gitrepometrics/FakeMetricsCollector.java",
      "new_id": "b20c4fe23a8663b57ae83bcdfb066ba19da15ab8",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/gitrepometrics/FakeMetricsCollector.java"
    },
    {
      "type": "modify",
      "old_id": "ffa03e5bb5df9f0c21fff9fa6025f0df4561fd38",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/gitrepometrics/GitRepoMetricsCacheIT.java",
      "new_id": "7397132d2cd6c4968da1c2b2a05edbac6f89a99c",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/gitrepometrics/GitRepoMetricsCacheIT.java"
    },
    {
      "type": "modify",
      "old_id": "92fc552c120757e5d43e4845738269c538fec793",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/gitrepometrics/collectors/FSMetricsCollectorTest.java",
      "new_id": "df1f68906a1488714ef6824820dcb6d126e47773",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/gitrepometrics/collectors/FSMetricsCollectorTest.java"
    }
  ]
}
