profiling-explorer 1.1.1__tar.gz → 1.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/CHANGELOG.rst +14 -0
- {profiling_explorer-1.1.1/src/profiling_explorer.egg-info → profiling_explorer-1.2.0}/PKG-INFO +1 -1
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/pyproject.toml +5 -9
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/templates/callers_callees.html +4 -5
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/views.py +8 -3
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0/src/profiling_explorer.egg-info}/PKG-INFO +1 -1
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/LICENSE +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/MANIFEST.in +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/README.rst +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/setup.cfg +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/__init__.py +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/__main__.py +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/main.py +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/management/__init__.py +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/management/commands/__init__.py +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/management/commands/runserver.py +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/py.typed +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/settings.py +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/static/script.js +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/static/styles.css +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/templates/_row.html +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/templates/base.html +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/templates/index.html +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/templatetags/__init__.py +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/templatetags/profiling_explorer_tags.py +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/urls.py +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer.egg-info/SOURCES.txt +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer.egg-info/dependency_links.txt +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer.egg-info/entry_points.txt +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer.egg-info/requires.txt +0 -0
- {profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer.egg-info/top_level.txt +0 -0
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
Changelog
|
|
3
3
|
=========
|
|
4
4
|
|
|
5
|
+
1.2.0 (2026-05-18)
|
|
6
|
+
------------------
|
|
7
|
+
|
|
8
|
+
* Enable changing the sort order in callees and callers views.
|
|
9
|
+
|
|
10
|
+
`PR #43 <https://github.com/adamchainz/profiling-explorer/pull/43>`__.
|
|
11
|
+
|
|
12
|
+
1.1.2 (2026-04-14)
|
|
13
|
+
------------------
|
|
14
|
+
|
|
15
|
+
* Fix caller percentage calculation.
|
|
16
|
+
|
|
17
|
+
`PR #37 <https://github.com/adamchainz/profiling-explorer/pull/37>`__.
|
|
18
|
+
|
|
5
19
|
1.1.1 (2026-04-13)
|
|
6
20
|
------------------
|
|
7
21
|
|
|
@@ -6,7 +6,7 @@ requires = [
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "profiling-explorer"
|
|
9
|
-
version = "1.
|
|
9
|
+
version = "1.2.0"
|
|
10
10
|
description = "Table-based exploration tool for Python profiling data (pstats files)."
|
|
11
11
|
readme = "README.rst"
|
|
12
12
|
keywords = [
|
|
@@ -45,7 +45,7 @@ scripts.profiling-explorer = "profiling_explorer.main:main"
|
|
|
45
45
|
test = [
|
|
46
46
|
"cogapp>=3.6",
|
|
47
47
|
"coverage[toml]>=7.10",
|
|
48
|
-
"pytest",
|
|
48
|
+
"pytest>=9",
|
|
49
49
|
"pytest-django",
|
|
50
50
|
"pytest-randomly",
|
|
51
51
|
]
|
|
@@ -103,13 +103,9 @@ warn_unreachable = true
|
|
|
103
103
|
overrides = [ { module = "tests.*", allow_untyped_defs = true } ]
|
|
104
104
|
|
|
105
105
|
[tool.pytest]
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
--ds=profiling_explorer.settings
|
|
110
|
-
"""
|
|
111
|
-
ini_options.django_find_project = false
|
|
112
|
-
ini_options.xfail_strict = true
|
|
106
|
+
strict = true
|
|
107
|
+
django_find_project = false
|
|
108
|
+
DJANGO_SETTINGS_MODULE = "profiling_explorer.settings"
|
|
113
109
|
|
|
114
110
|
[tool.coverage]
|
|
115
111
|
run.branch = true
|
|
@@ -10,11 +10,10 @@
|
|
|
10
10
|
<table>
|
|
11
11
|
<thead>
|
|
12
12
|
<tr>
|
|
13
|
-
|
|
14
|
-
<th
|
|
15
|
-
<th
|
|
16
|
-
|
|
17
|
-
<th>%
|
|
13
|
+
{% for col in columns %}
|
|
14
|
+
<th><a href="{% querystring sort=col.next_sort %}">{{ col.label }} <pe-sort-indicator>{{ col.indicator }}</pe-sort-indicator></a>
|
|
15
|
+
{% if col.key == "calls" or col.key == "cumulative_ms" %}<th>%
|
|
16
|
+
{% endif %}{% endfor %}
|
|
18
17
|
<th class=filename>filename:lineno function
|
|
19
18
|
<th>
|
|
20
19
|
</thead>
|
|
@@ -146,7 +146,7 @@ def build_profile(s: pstats.Stats, path: str) -> Profile:
|
|
|
146
146
|
internal_ms=None,
|
|
147
147
|
cumulative_ms=callee_cumulative_ms,
|
|
148
148
|
cumulative_ms_pct=(
|
|
149
|
-
min(100.0,
|
|
149
|
+
min(100.0, callee_cumulative_ms / total_time_ms * 100)
|
|
150
150
|
if total_time_ms
|
|
151
151
|
else 0.0
|
|
152
152
|
),
|
|
@@ -216,8 +216,13 @@ def _render_table(
|
|
|
216
216
|
else:
|
|
217
217
|
sorted_rows = sorted(
|
|
218
218
|
filtered_rows,
|
|
219
|
-
key=lambda r:
|
|
220
|
-
|
|
219
|
+
key=lambda r: (
|
|
220
|
+
getattr(edge_stats[r.id], sort_col) or 0,
|
|
221
|
+
r.filename,
|
|
222
|
+
r.lineno,
|
|
223
|
+
r.funcname,
|
|
224
|
+
),
|
|
225
|
+
reverse=sort_desc,
|
|
221
226
|
)
|
|
222
227
|
|
|
223
228
|
offset = int(request.GET.get("offset", 0))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/management/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/static/script.js
RENAMED
|
File without changes
|
{profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/static/styles.css
RENAMED
|
File without changes
|
{profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/templates/_row.html
RENAMED
|
File without changes
|
{profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/templates/base.html
RENAMED
|
File without changes
|
{profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer/templates/index.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer.egg-info/requires.txt
RENAMED
|
File without changes
|
{profiling_explorer-1.1.1 → profiling_explorer-1.2.0}/src/profiling_explorer.egg-info/top_level.txt
RENAMED
|
File without changes
|