diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/collectors/GitStatsMetricsCollector.java b/src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/collectors/GitStatsMetricsCollector.java
index 290c402..b30102c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/collectors/GitStatsMetricsCollector.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/gitrepometrics/collectors/GitStatsMetricsCollector.java
@@ -45,6 +45,17 @@
       new GitRepoMetric("sizeOfPackedObjects", "Size of packed objects", "Count");
   public static final GitRepoMetric numberOfBitmaps =
       new GitRepoMetric("numberOfBitmaps", "Number of bitmaps", "Count");
+  public static final GitRepoMetric numberOfObjectsSinceBitmap =
+      new GitRepoMetric(
+          "numberOfObjectsSinceBitmap",
+          "Number of objects in pack files and as loose object created after the last bitmap"
+              + " generation",
+          "Count");
+  public static final GitRepoMetric numberOfPackFilesSinceBitmap =
+      new GitRepoMetric(
+          "numberOfPackFilesSinceBitmap",
+          "The number of pack files that were created after the last bitmap generation",
+          "Count");
 
   private static final ImmutableList<GitRepoMetric> availableMetrics =
       ImmutableList.of(
@@ -55,7 +66,9 @@
           numberOfPackedRefs,
           sizeOfLooseObjects,
           sizeOfPackedObjects,
-          numberOfBitmaps);
+          numberOfBitmaps,
+          numberOfObjectsSinceBitmap,
+          numberOfPackFilesSinceBitmap);
 
   private final ExecutorService executorService;
 
@@ -84,6 +97,8 @@
             metrics.put(sizeOfLooseObjects, statistics.sizeOfLooseObjects);
             metrics.put(sizeOfPackedObjects, statistics.sizeOfPackedObjects);
             metrics.put(numberOfBitmaps, statistics.numberOfBitmaps);
+            metrics.put(numberOfObjectsSinceBitmap, statistics.numberOfObjectsSinceBitmap);
+            metrics.put(numberOfPackFilesSinceBitmap, statistics.numberOfPackFilesSinceBitmap);
             logger.atInfo().log("New Git Statistics metrics collected: %s", statistics.toString());
           } catch (IOException e) {
             logger.atSevere().log("Something went wrong: %s", e.getMessage());
diff --git a/src/resources/Documentation/config.md b/src/resources/Documentation/config.md
index 3db95e3..2c0f39c 100644
--- a/src/resources/Documentation/config.md
+++ b/src/resources/Documentation/config.md
@@ -20,6 +20,8 @@
 plugins_git_repo_metrics_numberofdirectories_<repo_name>
 plugins_git_repo_metrics_numberofemptydirectories_<repo_name>
 plugins_git_repo_metrics_combinedrefssha1_<repo_name>
+plugins_git_repo_metrics_numberofobjectssincebitmap_<repo_name>
+plugins_git_repo_metrics_numberofpackfilessincebitmap_<repo_name>
 ```
 
 Settings
