aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit
diff options
context:
space:
mode:
authorMatthias Sohn <matthias.sohn@sap.com>2024-11-20 12:36:42 +0000
committerGerrit Code Review <support@gerrithub.io>2024-11-20 12:36:42 +0000
commit2c86ef2427ad3c65bfa4dee90311408255869638 (patch)
treee6856cc95ac3f21545101a3629a781ca90d57306 /org.eclipse.jgit
parentf6fd48bef948f0bae1afbe207ddf98b2af9565d5 (diff)
parent469928898db10d4b19bd34658d3b2f93f12952b3 (diff)
downloadjgit-2c86ef2427ad3c65bfa4dee90311408255869638.tar.gz
jgit-2c86ef2427ad3c65bfa4dee90311408255869638.zip
Merge "Add numberOfObjectsSinceBitmap to RepoStatistics" into stable-6.10
Diffstat (limited to 'org.eclipse.jgit')
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java18
1 files changed, 17 insertions, 1 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java
index 9494057a60..b33afed131 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java
@@ -1515,6 +1515,12 @@ public class GC {
public long numberOfPackFilesSinceBitmap;
/**
+ * The number of objects stored in pack files and as loose object
+ * created after the last bitmap generation.
+ */
+ public long numberOfObjectsSinceBitmap;
+
+ /**
* The number of objects stored as loose objects.
*/
public long numberOfLooseObjects;
@@ -1551,6 +1557,8 @@ public class GC {
b.append(", numberOfPackFiles=").append(numberOfPackFiles); //$NON-NLS-1$
b.append(", numberOfPackFilesSinceBitmap=") //$NON-NLS-1$
.append(numberOfPackFilesSinceBitmap);
+ b.append(", numberOfObjectsSinceBitmap=") //$NON-NLS-1$
+ .append(numberOfObjectsSinceBitmap);
b.append(", numberOfLooseObjects=").append(numberOfLooseObjects); //$NON-NLS-1$
b.append(", numberOfLooseRefs=").append(numberOfLooseRefs); //$NON-NLS-1$
b.append(", numberOfPackedRefs=").append(numberOfPackedRefs); //$NON-NLS-1$
@@ -1571,14 +1579,19 @@ public class GC {
public RepoStatistics getStatistics() throws IOException {
RepoStatistics ret = new RepoStatistics();
Collection<Pack> packs = repo.getObjectDatabase().getPacks();
+ long latestBitmapTime = Long.MIN_VALUE;
for (Pack p : packs) {
- ret.numberOfPackedObjects += p.getIndex().getObjectCount();
+ long packedObjects = p.getIndex().getObjectCount();
+ ret.numberOfPackedObjects += packedObjects;
ret.numberOfPackFiles++;
ret.sizeOfPackedObjects += p.getPackFile().length();
if (p.getBitmapIndex() != null) {
ret.numberOfBitmaps += p.getBitmapIndex().getBitmapCount();
+ latestBitmapTime = p.getFileSnapshot().lastModifiedInstant()
+ .toEpochMilli();
} else {
ret.numberOfPackFilesSinceBitmap++;
+ ret.numberOfObjectsSinceBitmap += packedObjects;
}
}
File objDir = repo.getObjectsDirectory();
@@ -1595,6 +1608,9 @@ public class GC {
continue;
ret.numberOfLooseObjects++;
ret.sizeOfLooseObjects += f.length();
+ if (f.lastModified() > latestBitmapTime) {
+ ret.numberOfObjectsSinceBitmap ++;
+ }
}
}
}