D6477: profiling: show actual time spent in hotpath display
valentin.gatienbaron (Valentin Gatien-Baron)
phabricator at mercurial-scm.org
Thu Jun 6 12:22:06 UTC 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG0ae593e791fb: profiling: show actual time spent in hotpath display (authored by valentin.gatienbaron, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D6477?vs=15352&id=15354
REVISION DETAIL
https://phab.mercurial-scm.org/D6477
AFFECTED FILES
mercurial/configitems.py
mercurial/help/config.txt
mercurial/profiling.py
mercurial/statprof.py
CHANGE DETAILS
diff --git a/mercurial/statprof.py b/mercurial/statprof.py
--- a/mercurial/statprof.py
+++ b/mercurial/statprof.py
@@ -678,6 +678,7 @@
for sample in data.samples:
root.add(sample.stack[::-1], sample.time - lasttime)
lasttime = sample.time
+ showtime = kwargs.get(r'showtime', True)
def _write(node, depth, multiple_siblings):
site = node.site
@@ -695,7 +696,9 @@
# lots of string formatting
listpattern = ''.ljust(indent) +\
('\\' if multiple_siblings else '|') +\
- ' %4.1f%% %s %s'
+ ' %4.1f%%' +\
+ (' %5.2fs' % node.count if showtime else '') +\
+ ' %s %s'
liststring = listpattern % (node.count / root.count * 100,
filename, function)
codepattern = '%' + ('%d' % (55 - len(liststring))) + 's %d: %s'
diff --git a/mercurial/profiling.py b/mercurial/profiling.py
--- a/mercurial/profiling.py
+++ b/mercurial/profiling.py
@@ -147,6 +147,8 @@
# inconsistent config: profiling.showmin
limit = ui.configwith(fraction, 'profiling', 'showmin', 0.05)
kwargs[r'limit'] = limit
+ showtime = ui.configbool('profiling', 'showtime')
+ kwargs[r'showtime'] = showtime
statprof.display(fp, data=data, format=displayformat, **kwargs)
diff --git a/mercurial/help/config.txt b/mercurial/help/config.txt
--- a/mercurial/help/config.txt
+++ b/mercurial/help/config.txt
@@ -1780,6 +1780,11 @@
The option is unused on other formats.
+``showtime``
+ Show time taken as absolute durations, in addition to percentages.
+ Only used by the ``hotpath`` format.
+ (default: true)
+
``progress``
------------
diff --git a/mercurial/configitems.py b/mercurial/configitems.py
--- a/mercurial/configitems.py
+++ b/mercurial/configitems.py
@@ -947,6 +947,9 @@
coreconfigitem('profiling', 'showmin',
default=dynamicdefault,
)
+coreconfigitem('profiling', 'showtime',
+ default=True,
+)
coreconfigitem('profiling', 'sort',
default='inlinetime',
)
To: valentin.gatienbaron, #hg-reviewers, pulkit
Cc: pulkit, mercurial-devel
More information about the Mercurial-devel
mailing list