From d0564cf8ae42e8f388a685dfcbcaeba0cec82db1 Mon Sep 17 00:00:00 2001 From: Ronald Bhuleskar Date: Wed, 10 May 2023 16:29:53 -0700 Subject: [PATCH] UploadPack: Record negotiation stats on fetchV2 call ServiceV2 is not collecting wants/have in PackStatistics. This records the stats for fetch and push-negotiation. Change-Id: Iefd79f36b3d7837195e8bd9fc7007de352089e66 --- .../src/org/eclipse/jgit/transport/UploadPack.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java index f245eae39..3264f556f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/UploadPack.java @@ -1189,6 +1189,7 @@ private void fetchV2(PacketLineOut pckOut) throws IOException { PackStatistics.Accumulator accumulator = new PackStatistics.Accumulator(); Instant negotiateStart = Instant.now(); + accumulator.advertised = advertised.size(); ProtocolV2Parser parser = new ProtocolV2Parser(transferConfig); FetchV2Request req = parser.parseFetchRequest(pckIn); @@ -1209,6 +1210,7 @@ private void fetchV2(PacketLineOut pckOut) throws IOException { // TODO(ifrade): Avoid mutating the parsed request. req.getWantIds().addAll(wantedRefs.values()); wantIds = req.getWantIds(); + accumulator.wants = wantIds.size(); boolean sectionSent = false; boolean mayHaveShallow = req.getDepth() != 0 @@ -1766,7 +1768,6 @@ private boolean negotiate(FetchRequest req, && line.length() == PACKET_HAVE.length() + 40) { peerHas.add(ObjectId .fromString(line.substring(PACKET_HAVE.length()))); - accumulator.haves++; } else if (line.equals(PACKET_DONE)) { last = processHaveLines(peerHas, last, pckOut, accumulator, Option.NONE); @@ -1798,6 +1799,7 @@ private ObjectId processHaveLines(List peerHas, ObjectId last, parseWants(accumulator); if (peerHas.isEmpty()) return last; + accumulator.haves += peerHas.size(); sentReady = false; int haveCnt = 0;