Add cache keys index metrics

The following metrics were added foe each cache:
* cache/chroniclemap/keys_index_size_<cache-name> for showing the
  current size of the index (that one is one to one with disk entries)
* cache/chroniclemap/keys_index_add_latency_<cache-name> to indicate how
  much time it takes to add key to the index over time
* cache/chroniclemap/keys_index_remove_and_consume_older_than_latency_<cache-name>
  to indicate how much time it takes to remove and consume all keys
  older than expiration time
* cache/chroniclemap/keys_index_remove_lru_key_latency_<cache-name> to
  indicate how much time it takes to remove and consumer LRU key

Bug: Issue 15121
Change-Id: I8141c0f00dfe6e7dc3b06517c3383d19fe883492
6 files changed
tree: 7a98e21ffcc94a1f50fd010b148852c388bcbc0f
  1. src/
  2. .gitignore
  3. BUILD
  4. external_plugin_deps.bzl
  5. Jenkinsfile
  6. LICENSE
  7. README.md
README.md

Persistent cache for Gerrit, based on ChronicleMap

Non-blocking and super-fast on-disk cache libModule for Gerrit Code Review based on ChronicleMap on-disk implementation.

How to build

This libModule is built like a Gerrit in-tree plugin, using Bazelisk. See the build instructions for more details.

Setup

  • Install cache-chronicalmap module

Install the chronicle-map module into the $GERRIT_SITE/lib directory.

Add the cache-chroniclemap module to $GERRIT_SITE/etc/gerrit.config as follows:

[gerrit]
  installModule = com.googlesource.gerrit.modules.cache.chroniclemap.ChronicleMapCacheModule

For further information and supported options, refer to config documentation.

Migration from H2 caches

You can check how to migrate from H2 to chronicle-map here.