Show More
@@ -538,6 +538,18 paths:: | |||
|
538 | 538 | Optional. Directory or URL to use when pushing if no destination |
|
539 | 539 | is specified. |
|
540 | 540 | |
|
541 | [[profiling]] | |
|
542 | profiling:: | |
|
543 | Specifies profiling format and file output. | |
|
544 | In this section description, 'profiling data' stands for the raw data | |
|
545 | collected during profiling, while 'profiling report' stands for a | |
|
546 | statistical text report generated from the profiling data. | |
|
547 | The profiling is done using lsprof. | |
|
548 | output;; | |
|
549 | File path where profiling data or report should be saved. | |
|
550 | If the file exists, it is replaced. | |
|
551 | Default: None, data is printed on stderr | |
|
552 | ||
|
541 | 553 | [[server]] |
|
542 | 554 | server:: |
|
543 | 555 | Controls generic server settings. |
@@ -379,6 +379,15 def _runcommand(ui, options, cmd, cmdfun | |||
|
379 | 379 | raise error.ParseError(cmd, _("invalid arguments")) |
|
380 | 380 | |
|
381 | 381 | if options['profile']: |
|
382 | output = ui.config('profiling', 'output') | |
|
383 | ||
|
384 | if output: | |
|
385 | path = os.path.expanduser(output) | |
|
386 | path = ui.expandpath(path) | |
|
387 | ostream = open(path, 'wb') | |
|
388 | else: | |
|
389 | ostream = sys.stderr | |
|
390 | ||
|
382 | 391 | try: |
|
383 | 392 | from mercurial import lsprof |
|
384 | 393 | except ImportError: |
@@ -393,6 +402,9 def _runcommand(ui, options, cmd, cmdfun | |||
|
393 | 402 | p.disable() |
|
394 | 403 | stats = lsprof.Stats(p.getstats()) |
|
395 | 404 | stats.sort() |
|
396 |
stats.pprint(top=10, file= |
|
|
405 | stats.pprint(top=10, file=ostream, climit=5) | |
|
406 | ||
|
407 | if output: | |
|
408 | ostream.close() | |
|
397 | 409 | else: |
|
398 | 410 | return checkargs() |
@@ -3,7 +3,16 | |||
|
3 | 3 | echo % test --time |
|
4 | 4 | hg --time help -q help 2>&1 | grep Time > /dev/null || echo --time failed |
|
5 | 5 | |
|
6 | hg init a | |
|
7 | cd a | |
|
8 | ||
|
6 | 9 | echo % test --profile |
|
7 | 10 | if "$TESTDIR/hghave" -q lsprof; then |
|
8 |
hg --profile |
|
|
11 | hg --profile st 2>../out || echo --profile failed | |
|
12 | grep CallCount < ../out > /dev/null || echo wrong --profile | |
|
13 | ||
|
14 | hg --profile --config profiling.output=../out st 2>&1 \ | |
|
15 | || echo --profile + output to file failed | |
|
16 | grep CallCount < ../out > /dev/null \ | |
|
17 | || echo wrong --profile output when saving to a file | |
|
9 | 18 | fi |
General Comments 0
You need to be logged in to leave comments.
Login now