)]}'
{
  "commit": "f2d0c6c95aec0decf1aa0abedc9549e40ea30114",
  "tree": "0082f305a8677556f9930da98759e0dde856cc38",
  "parents": [
    "ac975d073a5a3c61f4dea2d8e0d3745d6a53b09c"
  ],
  "author": {
    "name": "Jacek Centkowski",
    "email": "geminica.programs@gmail.com",
    "time": "Wed Jul 13 08:18:51 2022 +0200"
  },
  "committer": {
    "name": "Jacek Centkowski",
    "email": "geminica.programs@gmail.com",
    "time": "Fri Aug 12 18:24:49 2022 +0200"
  },
  "message": "Add read/write metrics to TimedValueMarshaller\n\nThe following metrics were added:\n* cache/chroniclemap/store_serialize_latency_\u003ccache-name\u003e the latency of\n  serializing entries in chronicle-map store\n* cache/chroniclemap/store_deserialize_latency_\u003ccache-name\u003e the latency\n  of deserializing entries in chronicle-map store\n\nNotes:\n* metrics are not serializable hence as such they have to be transient\n* in case \u0027readResolve\u0027 method is used instead of constructor fallback\n  to metrics cache to get metrics; it is safe operation as store is\n  created only after the TimeValueMarshaller is created for a cache in\n  question hence metricsCache is going to have the corresponding entry\n\nChange-Id: I195d83d4ebf351ad82925130d4e0c77231c3ec07\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b9d5c29c5481dee91bea71bcb310de0b5bce4f33",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheImpl.java",
      "new_id": "1d600841c3655ad7cbc3dd9a8d0d521a5d6e134b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheImpl.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b49a65dfbaa97af33f6c57656402df1a1422ff5b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/SerializationMetricsForCache.java"
    },
    {
      "type": "modify",
      "old_id": "f26366f7999ba125ca272272922715a8dae52037",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/TimedValueMarshaller.java",
      "new_id": "13f12ec5f024a35f9ab8c1c21361bd5c06197caa",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/modules/cache/chroniclemap/TimedValueMarshaller.java"
    },
    {
      "type": "modify",
      "old_id": "03b89183b84f0f182b0861907b08cb29d0542055",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/metrics.md",
      "new_id": "e1ff2730935603a68ecc31818621afa5fe566b25",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/metrics.md"
    },
    {
      "type": "modify",
      "old_id": "d90eafffab38c8e4e39a3fd77bae436467208d5e",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheTest.java",
      "new_id": "72f23e5e0b3f8f743885cb2f8ac91004f629f10d",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/ChronicleMapCacheTest.java"
    },
    {
      "type": "modify",
      "old_id": "b630e36526ce1f02b4115b1ef4e12e43539025f2",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/TimedValueMarshallerTest.java",
      "new_id": "b4eb4ca5221dfa0f18457b799d0813533c41613e",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/modules/cache/chroniclemap/TimedValueMarshallerTest.java"
    }
  ]
}
