From fd80675e12e3bc044100382b404f1c9c8d038b33 Mon Sep 17 00:00:00 2001 From: Patrick Hiesel Date: Tue, 28 Jan 2020 15:29:48 +0100 Subject: [PATCH] Record time to load a single external ID from NoteDb This commit adds a new timer to track loading a single external ID from NoteDb. The measurement will be used to decide on any improvements to this space. Change-Id: I86680bf1cd1a59000a39efa60667c27e753105a5 --- Documentation/metrics.txt | 2 ++ .../account/externalids/ExternalIdReader.java | 13 +++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Documentation/metrics.txt b/Documentation/metrics.txt index 236792b22f..9352f0d8ae 100644 --- a/Documentation/metrics.txt +++ b/Documentation/metrics.txt @@ -152,6 +152,8 @@ excluding reindexing * `notedb/external_id_update_count`: Total number of external ID updates. * `notedb/read_all_external_ids_latency`: Latency for reading all external ID's from NoteDb. +* `notedb/read_singke_external_id_latency`: Latency for reading a single +external ID from NoteDb. === Permissions diff --git a/java/com/google/gerrit/server/account/externalids/ExternalIdReader.java b/java/com/google/gerrit/server/account/externalids/ExternalIdReader.java index 6334265ca7..c0553133e2 100644 --- a/java/com/google/gerrit/server/account/externalids/ExternalIdReader.java +++ b/java/com/google/gerrit/server/account/externalids/ExternalIdReader.java @@ -68,6 +68,7 @@ public class ExternalIdReader { private final AllUsersName allUsersName; private boolean failOnLoad = false; private final Timer0 readAllLatency; + private final Timer0 readSingleLatency; @Inject ExternalIdReader( @@ -80,6 +81,12 @@ public class ExternalIdReader { new Description("Latency for reading all external IDs from NoteDb.") .setCumulative() .setUnit(Units.MILLISECONDS)); + this.readSingleLatency = + metricMaker.newTimer( + "notedb/read_single_external_id_latency", + new Description("Latency for reading a single external ID from NoteDb.") + .setCumulative() + .setUnit(Units.MILLISECONDS)); } @VisibleForTesting @@ -126,7 +133,8 @@ public class ExternalIdReader { Optional get(ExternalId.Key key) throws IOException, ConfigInvalidException { checkReadEnabled(); - try (Repository repo = repoManager.openRepository(allUsersName)) { + try (Timer0.Context ctx = readSingleLatency.start(); + Repository repo = repoManager.openRepository(allUsersName)) { return ExternalIdNotes.loadReadOnly(allUsersName, repo).get(key); } } @@ -136,7 +144,8 @@ public class ExternalIdReader { throws IOException, ConfigInvalidException { checkReadEnabled(); - try (Repository repo = repoManager.openRepository(allUsersName)) { + try (Timer0.Context ctx = readSingleLatency.start(); + Repository repo = repoManager.openRepository(allUsersName)) { return ExternalIdNotes.loadReadOnly(allUsersName, repo, rev).get(key); } }