PackWriter: Export more statistics
Export the shallow pack information, and also a handy function to sum up the total times. Include the time writing out the index file, if it was created. Change-Id: I7f60ae6848455a357b25feedb23743bbf6c153cf Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
38b3816d65
commit
1b6a549ff3
|
@ -714,6 +714,7 @@ public void writeIndex(final OutputStream indexStream) throws IOException {
|
|||
if (!cachedPacks.isEmpty())
|
||||
throw new IOException(JGitText.get().cachedPacksPreventsIndexCreation);
|
||||
|
||||
long writeStart = System.currentTimeMillis();
|
||||
final List<ObjectToPack> list = sortByName();
|
||||
final PackIndexWriter iw;
|
||||
int indexVersion = config.getIndexVersion();
|
||||
|
@ -722,6 +723,7 @@ public void writeIndex(final OutputStream indexStream) throws IOException {
|
|||
else
|
||||
iw = PackIndexWriter.createVersion(indexStream, indexVersion);
|
||||
iw.write(list, packcsum);
|
||||
stats.timeWriting += System.currentTimeMillis() - writeStart;
|
||||
}
|
||||
|
||||
private List<ObjectToPack> sortByName() {
|
||||
|
@ -828,6 +830,7 @@ public void writePack(ProgressMonitor compressMonitor,
|
|||
stats.timeWriting = System.currentTimeMillis() - writeStart;
|
||||
stats.totalBytes = out.length();
|
||||
stats.reusedPacks = Collections.unmodifiableList(cachedPacks);
|
||||
stats.depth = depth;
|
||||
|
||||
for (Statistics.ObjectType typeStat : stats.objectTypes) {
|
||||
if (typeStat == null)
|
||||
|
@ -1870,6 +1873,8 @@ public long getDeltaBytes() {
|
|||
|
||||
Collection<CachedPack> reusedPacks;
|
||||
|
||||
int depth;
|
||||
|
||||
int deltaSearchNonEdgeObjects;
|
||||
|
||||
int deltasFound;
|
||||
|
@ -2012,6 +2017,16 @@ public ObjectType byObjectType(int typeCode) {
|
|||
return objectTypes[typeCode];
|
||||
}
|
||||
|
||||
/** @return true if the resulting pack file was a shallow pack. */
|
||||
public boolean isShallow() {
|
||||
return depth > 0;
|
||||
}
|
||||
|
||||
/** @return depth (in commits) the pack includes if shallow. */
|
||||
public int getDepth() {
|
||||
return depth;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return time in milliseconds spent enumerating the objects that need
|
||||
* to be included in the output. This time includes any restarts
|
||||
|
@ -2060,6 +2075,15 @@ public long getTimeWriting() {
|
|||
return timeWriting;
|
||||
}
|
||||
|
||||
/** @return total time spent processing this pack. */
|
||||
public long getTimeTotal() {
|
||||
return timeCounting
|
||||
+ timeSearchingForReuse
|
||||
+ timeSearchingForSizes
|
||||
+ timeCompressing
|
||||
+ timeWriting;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return get the average output speed in terms of bytes-per-second.
|
||||
* {@code getTotalBytes() / (getTimeWriting() / 1000.0)}.
|
||||
|
|
Loading…
Reference in New Issue