# HG changeset patch # User Pierre-Yves David # Date 1495185382 -7200 # Node ID 0fa7971071b1157dcab00e2c6992746ffd5bb8b6 # Parent f7d67b6ee44f8bb98578fbef8bf7e2e86df638e8 debugobsstorestat: add markers size information We adds some extra information about markers size in all known format. diff -r f7d67b6ee44f -r 0fa7971071b1 hgext3rd/evolve/debugcmd.py --- a/hgext3rd/evolve/debugcmd.py Fri May 19 00:15:30 2017 +0200 +++ b/hgext3rd/evolve/debugcmd.py Fri May 19 11:16:22 2017 +0200 @@ -10,7 +10,10 @@ # * We could have the same code in core as `hg debugobsolete --stat`, # * We probably want a way for the extension to hook in for extra data. -from mercurial import node +from mercurial import ( + obsolete, + node, +) from mercurial.i18n import _ @@ -41,7 +44,8 @@ store = repo.obsstore unfi = repo.unfiltered() nm = unfi.changelog.nodemap - ui.write(_('markers total: %9i\n') % len(store._all)) + nbmarkers = len(store._all) + ui.write(_('markers total: %9i\n') % nbmarkers) sucscount = [0, 0, 0, 0] known = 0 parentsdata = 0 @@ -51,6 +55,8 @@ clustersmap = {} # same data using parent information pclustersmap = {} + size_v0 = [] + size_v1 = [] for mark in store: if mark[0] in nm: known += 1 @@ -72,6 +78,8 @@ # same with parent data nodes.update(parents) _updateclustermap(nodes, mark, pclustersmap) + size_v0.append(len(obsolete._fm0encodeonemarker(mark))) + size_v1.append(len(obsolete._fm1encodeonemarker(mark))) # freezing the result for c in clustersmap.values(): @@ -95,6 +103,27 @@ for key in sorted(metakeys): ui.write((' %15s: %9i\n' % (key, metakeys[key]))) + size_v0.sort() + size_v1.sort() + if size_v0: + ui.write('marker size:\n') + # format v1 + ui.write(' format v1:\n') + ui.write((' smallest length: %9i\n' % size_v1[0])) + ui.write((' longer length: %9i\n' % size_v1[-1])) + median = size_v1[nbmarkers // 2] + ui.write((' median length: %9i\n' % median)) + mean = sum(size_v1) // nbmarkers + ui.write((' mean length: %9i\n' % mean)) + # format v0 + ui.write(' format v0:\n') + ui.write((' smallest length: %9i\n' % size_v0[0])) + ui.write((' longer length: %9i\n' % size_v0[-1])) + median = size_v0[nbmarkers // 2] + ui.write((' median length: %9i\n' % median)) + mean = sum(size_v0) // nbmarkers + ui.write((' mean length: %9i\n' % mean)) + allclusters = list(set(clustersmap.values())) allclusters.sort(key=lambda x: len(x[1])) ui.write(('disconnected clusters: %9i\n' % len(allclusters))) diff -r f7d67b6ee44f -r 0fa7971071b1 tests/test-evolve.t --- a/tests/test-evolve.t Fri May 19 00:15:30 2017 +0200 +++ b/tests/test-evolve.t Fri May 19 11:16:22 2017 +0200 @@ -793,6 +793,17 @@ more than 2 successors: 0 available keys: user: 10 + marker size: + format v1: + smallest length: 69 + longer length: 69 + median length: 69 + mean length: 69 + format v0: + smallest length: * (glob) + longer length: * (glob) + median length: * (glob) + mean length: * (glob) disconnected clusters: 1 any known node: 1 smallest length: 10 diff -r f7d67b6ee44f -r 0fa7971071b1 tests/test-prune.t --- a/tests/test-prune.t Fri May 19 00:15:30 2017 +0200 +++ b/tests/test-prune.t Fri May 19 11:16:22 2017 +0200 @@ -352,6 +352,17 @@ more than 2 successors: 0 available keys: user: 7 + marker size: + format v1: + smallest length: 69 + longer length: 69 + median length: 69 + mean length: 69 + format v0: + smallest length: * (glob) + longer length: * (glob) + median length: * (glob) + mean length: * (glob) disconnected clusters: 7 any known node: 7 smallest length: 1