Commit 8e3708d8 authored by Victor Stinner's avatar Victor Stinner

Issue #18874: allow to call tracemalloc.Snapshot.statistics(cumulative=True)

with traceback_limit=1
parent 00773df9
...@@ -479,8 +479,7 @@ Snapshot ...@@ -479,8 +479,7 @@ Snapshot
If *cumulative* is ``True``, cumulate size and count of memory blocks of If *cumulative* is ``True``, cumulate size and count of memory blocks of
all frames of the traceback of a trace, not only the most recent frame. all frames of the traceback of a trace, not only the most recent frame.
The cumulative mode can only be used with *group_by* equals to The cumulative mode can only be used with *group_by* equals to
``'filename'`` and ``'lineno'`` and :attr:`traceback_limit` greater than ``'filename'`` and ``'lineno'``.
``1``.
The result is sorted from the biggest to the smallest by: The result is sorted from the biggest to the smallest by:
:attr:`Statistic.size`, :attr:`Statistic.count` and then by :attr:`Statistic.size`, :attr:`Statistic.count` and then by
......
...@@ -380,10 +380,6 @@ class Snapshot: ...@@ -380,10 +380,6 @@ class Snapshot:
if cumulative and key_type not in ('lineno', 'filename'): if cumulative and key_type not in ('lineno', 'filename'):
raise ValueError("cumulative mode cannot by used " raise ValueError("cumulative mode cannot by used "
"with key type %r" % key_type) "with key type %r" % key_type)
if cumulative and self.traceback_limit < 2:
raise ValueError("cumulative mode needs tracebacks with at least "
"2 frames, traceback limit is %s"
% self.traceback_limit)
stats = {} stats = {}
tracebacks = {} tracebacks = {}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment