From a307c88714f3e3da14b07743f91542fabcfd7706 Mon Sep 17 00:00:00 2001 From: Ivan Frade Date: Wed, 9 Oct 2019 14:29:11 -0700 Subject: [PATCH] PackWriter/Statistics: Report offloaded size Add to statistics the amount and size of packfiles offloaded to HTTP download. Change-Id: I895a7219ecac2794368bfc4fdfae74c1238deed9 Signed-off-by: Ivan Frade --- .../internal/storage/pack/PackWriter.java | 2 ++ .../jgit/storage/pack/PackStatistics.java | 30 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java index 43067d364..2f770e96f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java @@ -1230,6 +1230,8 @@ public class PackWriter implements AutoCloseable { if (packInfo != null) { o.writeString(packInfo.getHash() + ' ' + packInfo.getUri() + '\n'); + stats.offloadedPackfiles += 1; + stats.offloadedPackfileSize += packInfo.getSize(); } else { unwrittenCachedPacks.add(pack); } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackStatistics.java b/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackStatistics.java index e6e3d4fb1..645da0a06 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackStatistics.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/PackStatistics.java @@ -270,6 +270,20 @@ public class PackStatistics { * @since 5.4*/ public long treesTraversed; + /** + * Amount of packfile uris sent to the client to download via HTTP. + * + * @since 5.6 + */ + public long offloadedPackfiles; + + /** + * Total size (in bytes) offloaded to HTTP downloads. + * + * @since 5.6 + */ + public long offloadedPackfileSize; + /** * Statistics about each object type in the pack (commits, tags, trees * and blobs.) @@ -597,6 +611,22 @@ public class PackStatistics { return statistics.treesTraversed; } + /** + * @return amount of packfiles offloaded (sent as "packfile-uri")/ + * @since 5.6 + */ + public long getOffloadedPackfiles() { + return statistics.offloadedPackfiles; + } + + /** + * @return total size (in bytes) offloaded to HTTP downloads. + * @since 5.6 + */ + public long getOffloadedPackfilesSize() { + return statistics.offloadedPackfileSize; + } + /** * Get total time spent processing this pack. *