functiontrace 0.3.7__tar.gz → 0.3.10__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.
- {functiontrace-0.3.7/functiontrace.egg-info → functiontrace-0.3.10}/PKG-INFO +3 -3
- {functiontrace-0.3.7 → functiontrace-0.3.10}/_functiontrace.c +8 -1
- {functiontrace-0.3.7 → functiontrace-0.3.10/functiontrace.egg-info}/PKG-INFO +3 -3
- {functiontrace-0.3.7 → functiontrace-0.3.10}/functiontrace.py +10 -4
- {functiontrace-0.3.7 → functiontrace-0.3.10}/pyproject.toml +8 -2
- {functiontrace-0.3.7 → functiontrace-0.3.10}/MANIFEST.in +0 -0
- {functiontrace-0.3.7 → functiontrace-0.3.10}/README.rst +0 -0
- {functiontrace-0.3.7 → functiontrace-0.3.10}/functiontrace.egg-info/SOURCES.txt +0 -0
- {functiontrace-0.3.7 → functiontrace-0.3.10}/functiontrace.egg-info/dependency_links.txt +0 -0
- {functiontrace-0.3.7 → functiontrace-0.3.10}/functiontrace.egg-info/entry_points.txt +0 -0
- {functiontrace-0.3.7 → functiontrace-0.3.10}/functiontrace.egg-info/top_level.txt +0 -0
- {functiontrace-0.3.7 → functiontrace-0.3.10}/mpack/LICENSE +0 -0
- {functiontrace-0.3.7 → functiontrace-0.3.10}/mpack/mpack.c +0 -0
- {functiontrace-0.3.7 → functiontrace-0.3.10}/mpack/mpack.h +0 -0
- {functiontrace-0.3.7 → functiontrace-0.3.10}/setup.cfg +0 -0
- {functiontrace-0.3.7 → functiontrace-0.3.10}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: functiontrace
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.10
|
|
4
4
|
Summary: A profiling tool that traces your application's execution
|
|
5
5
|
Author: Alistair Dobke
|
|
6
6
|
Author-email: Matt Bryant <functiontrace@programsareproofs.com>
|
|
@@ -16,7 +16,7 @@ Classifier: Environment :: Console
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3
|
|
17
17
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
18
18
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
19
|
-
Requires-Python:
|
|
19
|
+
Requires-Python: >=3.7
|
|
20
20
|
Description-Content-Type: text/x-rst
|
|
21
21
|
|
|
22
22
|
Py-Functiontrace
|
|
@@ -804,6 +804,14 @@ static PyObject* Fprofile_StartTrace(PyObject* obj, PyObject* args, PyObject* kw
|
|
|
804
804
|
}
|
|
805
805
|
}
|
|
806
806
|
|
|
807
|
+
if (moduleConfiguration.pid != 0) {
|
|
808
|
+
// This can be triggered by running `functiontrace.begin_tracing()`
|
|
809
|
+
// from inside a process that's already being traced.
|
|
810
|
+
// We'll fail in this situation, but might as well print a mildly
|
|
811
|
+
// helpful error message here.
|
|
812
|
+
perror("Functiontrace doubly initialized! Aborting.");
|
|
813
|
+
exit(-1);
|
|
814
|
+
}
|
|
807
815
|
moduleConfiguration.pid = getpid();
|
|
808
816
|
|
|
809
817
|
// Mark that we'll need to forget some information on forks. In
|
|
@@ -1099,4 +1107,3 @@ static void Fprofile_ResetThreadState(void) {
|
|
|
1099
1107
|
moduleConfiguration.pid = getpid();
|
|
1100
1108
|
Fprofile_CreateThreadState();
|
|
1101
1109
|
}
|
|
1102
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: functiontrace
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.10
|
|
4
4
|
Summary: A profiling tool that traces your application's execution
|
|
5
5
|
Author: Alistair Dobke
|
|
6
6
|
Author-email: Matt Bryant <functiontrace@programsareproofs.com>
|
|
@@ -16,7 +16,7 @@ Classifier: Environment :: Console
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3
|
|
17
17
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
18
18
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
19
|
-
Requires-Python:
|
|
19
|
+
Requires-Python: >=3.7
|
|
20
20
|
Description-Content-Type: text/x-rst
|
|
21
21
|
|
|
22
22
|
Py-Functiontrace
|
|
@@ -41,7 +41,7 @@ def setup_dependencies():
|
|
|
41
41
|
# Generate wrappers for the various Python versions we support to ensure
|
|
42
42
|
# they're included in our PATH.
|
|
43
43
|
wrap_pythons = ["python", "python3"] + [
|
|
44
|
-
"python3.{}".format(minor) for minor in range(6,
|
|
44
|
+
"python3.{}".format(minor) for minor in range(6, 13)
|
|
45
45
|
]
|
|
46
46
|
for python in wrap_pythons:
|
|
47
47
|
with open(os.path.join(tempdir, python), "w") as f:
|
|
@@ -55,9 +55,7 @@ def main():
|
|
|
55
55
|
"--trace-memory",
|
|
56
56
|
"--trace_memory",
|
|
57
57
|
action="store_true",
|
|
58
|
-
help=""
|
|
59
|
-
memory allocations/frees when enabled. This may add
|
|
60
|
-
tracing overhead, so is disabled by default.""",
|
|
58
|
+
help="Trace memory allocations/frees when enabled. This may add tracing overhead, so is disabled by default.",
|
|
61
59
|
)
|
|
62
60
|
parser.add_argument(
|
|
63
61
|
"--output-dir",
|
|
@@ -66,6 +64,12 @@ def main():
|
|
|
66
64
|
default=os.getcwd(),
|
|
67
65
|
help="The directory to output trace files to",
|
|
68
66
|
)
|
|
67
|
+
parser.add_argument(
|
|
68
|
+
"--no-compression",
|
|
69
|
+
"--no_compression",
|
|
70
|
+
action="store_true",
|
|
71
|
+
help="Disable compression of traces, which can be unnecessarily slow if filesize is not a concern.",
|
|
72
|
+
)
|
|
69
73
|
parser.add_argument(
|
|
70
74
|
"-v", "--version", action="version", version=_functiontrace.__version__
|
|
71
75
|
)
|
|
@@ -107,6 +111,8 @@ def main():
|
|
|
107
111
|
setup_dependencies()
|
|
108
112
|
|
|
109
113
|
# Setup our tracing environment, including configuring tracing features.
|
|
114
|
+
if args.no_compression:
|
|
115
|
+
os.environ["FUNCTIONTRACE_COMPRESSION"] = "false"
|
|
110
116
|
if args.trace_memory:
|
|
111
117
|
_functiontrace.config_tracememory()
|
|
112
118
|
_functiontrace.begin_tracing(args.output_dir)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "functiontrace"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.10"
|
|
4
4
|
description = "A profiling tool that traces your application's execution"
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "Matt Bryant", email = "functiontrace@programsareproofs.com"},
|
|
@@ -8,7 +8,13 @@ authors = [
|
|
|
8
8
|
]
|
|
9
9
|
license = { text = "The Prosperity Public License 3.0.0" }
|
|
10
10
|
readme = "README.rst"
|
|
11
|
-
|
|
11
|
+
# NOTE: Actively tested on Python 3.7 - 3.12 and may plausibly break on greater
|
|
12
|
+
# versions due to C extension hacks. However, setting a maximum version causes
|
|
13
|
+
# new Python versions to simply install very old versions of Functiontrace that
|
|
14
|
+
# didn't have the `requires-python` annotation on them and are also unlikely to
|
|
15
|
+
# work. Best to only set the minimum and let bug reports notify us of issues
|
|
16
|
+
# with new Python releases.
|
|
17
|
+
requires-python = ">=3.7"
|
|
12
18
|
keywords = [
|
|
13
19
|
"profiler",
|
|
14
20
|
"debugger"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|