)]}'
{
  "commit": "04a1c626653bbf0ccebc635a136348d7d5ea0a51",
  "tree": "e9d1015942214067715bb1e39eddd5d2d22eb4cb",
  "parents": [
    "ea51e2ffff3371c2330401318f821618aa496501"
  ],
  "author": {
    "name": "Luca Milanesio",
    "email": "luca.milanesio@gmail.com",
    "time": "Sat Jun 11 03:01:25 2022 +0100"
  },
  "committer": {
    "name": "Luca Milanesio",
    "email": "luca.milanesio@gmail.com",
    "time": "Sat Jul 30 01:34:45 2022 +0200"
  },
  "message": "Introduce E2E fetch REST-API metrics\n\nThe E2E replication through the fetch REST-API\nneeds to be calculated from the client originating the call\nwhere the initial ref-update happens.\n\nIntroduce a new end_2_end metric to track this latency.\n\nWhen the pull replication is executed asynchronously,\nthe client originating the call propagates the timestamp\nin an HTTP header (X-StartTimeNanos) and propagated\nto the receiver side, which will use the initial time for\nrecording the final E2E replication time at the receiver\nside.\n\nAlso add the pull-replication async integration tests\nthat were completely missing before: testing with async\nreplication is key for demonstrating that the E2E metrics\nare working as expected.\nConsequently, the TEST_REPLICATION_DELAY is reduced to\n1 second for preventing the whole test suite to fail\nfor timeout.\n\nTODO: Additional assertion on E2E metrics in sync and async\nmodes.\n\nChange-Id: Ieb29e3475dc0938fe7700007b7d05a630c3c927f\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bcd86d7745bf6f15931a6760209352a8da9daa75",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchAll.java",
      "new_id": "42310ffe906eebe4115e07df6eef9b772cd46f18",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchAll.java"
    },
    {
      "type": "modify",
      "old_id": "cee52b5611d0182c3e47b2af51a4a07e8ca5bc25",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchOne.java",
      "new_id": "cdf573f5660dfcee46223fc0c3b0aae6c8ef333e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchOne.java"
    },
    {
      "type": "modify",
      "old_id": "e952252967d26a2217f68fc156c03e2cad87a2fe",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchReplicationMetrics.java",
      "new_id": "22bb07341a758947e174071b68f0ca043a01136b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/FetchReplicationMetrics.java"
    },
    {
      "type": "modify",
      "old_id": "6393c0821963031250b5c97390cbec01dfe5007f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueue.java",
      "new_id": "431255cb7ac190a8c5f9e0647d96aecd1b06f1ba",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueue.java"
    },
    {
      "type": "modify",
      "old_id": "ddefa47a9c7014ca50aa7a12fe9e95f7473080e7",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/Source.java",
      "new_id": "4ae3f7d7f52e816dc489931bd7b8313539c2b8da",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/Source.java"
    },
    {
      "type": "modify",
      "old_id": "2767f1d5f668c46aa938d44fbc2cf1dde706d102",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/FetchAction.java",
      "new_id": "48964dbf7253ca32adc68dc774db383ebbfa6e22",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/FetchAction.java"
    },
    {
      "type": "modify",
      "old_id": "e1ac9ac9148ad9f3627d7774a25f34ea67e8fec9",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/FetchCommand.java",
      "new_id": "3a502ef76e44b5daee061a99c5962005357c7c87",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/FetchCommand.java"
    },
    {
      "type": "modify",
      "old_id": "b2ef28d0cda4a4642cbe44be5df5b0b0818a3131",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/HttpModule.java",
      "new_id": "b140cb40d86623bb1f507faa03da7ea27f4f255c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/HttpModule.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3858db27490696c0657c7134f586f99e80268fc2",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/PullReplicationApiMetricsFilter.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8a97901c954f2c26908cacc9c2659b71de9e58a0",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/api/PullReplicationApiRequestMetrics.java"
    },
    {
      "type": "modify",
      "old_id": "476a35ba39f710e0dfa36cf3d15c30e85a03b566",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchApiClient.java",
      "new_id": "01b6f1d8a45602457b2b89520d962a71b4772c3e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchApiClient.java"
    },
    {
      "type": "modify",
      "old_id": "f2f57cd685d10e14137d30d2147b8e457c321760",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClient.java",
      "new_id": "4db4ceb3c93b2be52fb7723e207e0f60348656d5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/replication/pull/client/FetchRestApiClient.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "58be58e93874fb04f3180ec2ebf89264a3d9eaf4",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationAsyncIT.java"
    },
    {
      "type": "modify",
      "old_id": "c6d32bf1b9559fe306a09d27301a4a1f3d9f5b80",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationIT.java",
      "new_id": "7fcff108acf3d9e338a8e56c0cf21f73d25ff759",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/replication/pull/PullReplicationIT.java"
    },
    {
      "type": "modify",
      "old_id": "08d7e5a49c4d11ddf72fecc76dd2928ba5d9cc45",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueueTest.java",
      "new_id": "56b6ad1c5cd4fe0f6efd9e35940f255eca57bada",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/replication/pull/ReplicationQueueTest.java"
    },
    {
      "type": "modify",
      "old_id": "e1ad5659ef7e5f8eeb143ed13b0162220963c166",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/replication/pull/api/FetchCommandTest.java",
      "new_id": "9af2d108968a383bce27ba2da610a948cb8d3717",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/replication/pull/api/FetchCommandTest.java"
    }
  ]
}
