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
This commit is contained in:
Ronald Bhuleskar 2023-05-10 16:29:53 -07:00
parent e6f216119f
commit d0564cf8ae
1 changed files with 3 additions and 1 deletions

View File

@ -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<ObjectId> peerHas, ObjectId last,
parseWants(accumulator);
if (peerHas.isEmpty())
return last;
accumulator.haves += peerHas.size();
sentReady = false;
int haveCnt = 0;