##// END OF EJS Templates
debug-revlog: keep the revlog open for the analysis duration...
marmoute -
r51910:edc44ab7 default
parent child Browse files
Show More
@@ -346,83 +346,86 b' def debug_revlog(ui, revlog):'
346 346 l[1] = size
347 347 l[2] += size
348 348
349 numrevs = len(r)
350 for rev in range(numrevs):
351 p1, p2 = r.parentrevs(rev)
352 delta = r.deltaparent(rev)
353 if format > 0:
354 s = r.rawsize(rev)
355 full_text_total_size += s
356 addsize(s, datasize)
357 if p2 != nodemod.nullrev:
358 nummerges += 1
359 size = r.length(rev)
360 if delta == nodemod.nullrev:
361 chainlengths.append(0)
362 chainbases.append(r.start(rev))
363 chainspans.append(size)
364 if size == 0:
365 numempty += 1
366 numemptytext += 1
349 with r.reading():
350 numrevs = len(r)
351 for rev in range(numrevs):
352 p1, p2 = r.parentrevs(rev)
353 delta = r.deltaparent(rev)
354 if format > 0:
355 s = r.rawsize(rev)
356 full_text_total_size += s
357 addsize(s, datasize)
358 if p2 != nodemod.nullrev:
359 nummerges += 1
360 size = r.length(rev)
361 if delta == nodemod.nullrev:
362 chainlengths.append(0)
363 chainbases.append(r.start(rev))
364 chainspans.append(size)
365 if size == 0:
366 numempty += 1
367 numemptytext += 1
368 else:
369 numfull += 1
370 numsnapdepth[0] += 1
371 addsize(size, fullsize)
372 addsize(size, snapsizedepth[0])
367 373 else:
368 numfull += 1
369 numsnapdepth[0] += 1
370 addsize(size, fullsize)
371 addsize(size, snapsizedepth[0])
372 else:
373 nad = (
374 delta != p1 and delta != p2 and not r.isancestorrev(delta, rev)
375 )
376 chainlengths.append(chainlengths[delta] + 1)
377 baseaddr = chainbases[delta]
378 revaddr = r.start(rev)
379 chainbases.append(baseaddr)
380 chainspans.append((revaddr - baseaddr) + size)
381 if size == 0:
382 numempty += 1
383 numemptydelta += 1
384 elif r.issnapshot(rev):
385 addsize(size, semisize)
386 numsemi += 1
387 depth = r.snapshotdepth(rev)
388 numsnapdepth[depth] += 1
389 if nad:
390 numsnapdepth_nad[depth] += 1
391 addsize(size, snapsizedepth[depth])
374 nad = (
375 delta != p1
376 and delta != p2
377 and not r.isancestorrev(delta, rev)
378 )
379 chainlengths.append(chainlengths[delta] + 1)
380 baseaddr = chainbases[delta]
381 revaddr = r.start(rev)
382 chainbases.append(baseaddr)
383 chainspans.append((revaddr - baseaddr) + size)
384 if size == 0:
385 numempty += 1
386 numemptydelta += 1
387 elif r.issnapshot(rev):
388 addsize(size, semisize)
389 numsemi += 1
390 depth = r.snapshotdepth(rev)
391 numsnapdepth[depth] += 1
392 if nad:
393 numsnapdepth_nad[depth] += 1
394 addsize(size, snapsizedepth[depth])
395 else:
396 addsize(size, deltasize)
397 if delta == rev - 1:
398 numprev += 1
399 if delta == p1:
400 nump1prev += 1
401 elif delta == p2:
402 nump2prev += 1
403 elif nad:
404 numprev_nad += 1
405 elif delta == p1:
406 nump1 += 1
407 elif delta == p2:
408 nump2 += 1
409 elif delta != nodemod.nullrev:
410 numother += 1
411 numother_nad += 1
412
413 # Obtain data on the raw chunks in the revlog.
414 if hasattr(r, '_getsegmentforrevs'):
415 segment = r._getsegmentforrevs(rev, rev)[1]
392 416 else:
393 addsize(size, deltasize)
394 if delta == rev - 1:
395 numprev += 1
396 if delta == p1:
397 nump1prev += 1
398 elif delta == p2:
399 nump2prev += 1
400 elif nad:
401 numprev_nad += 1
402 elif delta == p1:
403 nump1 += 1
404 elif delta == p2:
405 nump2 += 1
406 elif delta != nodemod.nullrev:
407 numother += 1
408 numother_nad += 1
417 segment = r._revlog._getsegmentforrevs(rev, rev)[1]
418 if segment:
419 chunktype = bytes(segment[0:1])
420 else:
421 chunktype = b'empty'
409 422
410 # Obtain data on the raw chunks in the revlog.
411 if hasattr(r, '_getsegmentforrevs'):
412 segment = r._getsegmentforrevs(rev, rev)[1]
413 else:
414 segment = r._revlog._getsegmentforrevs(rev, rev)[1]
415 if segment:
416 chunktype = bytes(segment[0:1])
417 else:
418 chunktype = b'empty'
423 if chunktype not in chunktypecounts:
424 chunktypecounts[chunktype] = 0
425 chunktypesizes[chunktype] = 0
419 426
420 if chunktype not in chunktypecounts:
421 chunktypecounts[chunktype] = 0
422 chunktypesizes[chunktype] = 0
423
424 chunktypecounts[chunktype] += 1
425 chunktypesizes[chunktype] += size
427 chunktypecounts[chunktype] += 1
428 chunktypesizes[chunktype] += size
426 429
427 430 # Adjust size min value for empty cases
428 431 for size in (datasize, fullsize, semisize, deltasize):
General Comments 0
You need to be logged in to leave comments. Login now