Skip to content

Commit e244c05

Browse files
committed
mention threads in docs
1 parent be1cac0 commit e244c05

File tree

3 files changed

+30
-1
lines changed

3 files changed

+30
-1
lines changed

BUGS

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
On windows, we handle all the threads, not just ones that are running.

README-develop.md

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
vmprof is a delicate piece of software. Following considerations should
2+
be present when developing it.
3+
4+
Supported platform combinations (all combinations are supported):
5+
6+
* pypy (>=4.1), cpython
7+
8+
* windows, os x and linux
9+
10+
CPython should be tested on both TeamCity and Travis, PyPy is more
11+
patchy since there is never a new enough version on either. Since PyPy
12+
only exercises the pure python part, please test it each time you change
13+
and interface between _vmprof and vmprof.
14+
15+
Signals
16+
=======
17+
18+
On OS X and Linux we handle signal handlers. This means that we have
19+
to be very very careful at what we can and cannot do. Notably, we can't
20+
use malloc, locks or refcounting in any of the signal handlers. Python data
21+
should be read-only and we should be prepared to read garbage or NULL
22+
from anything.
23+
24+
On windows we use an external thread, so it's an imperative we freeze
25+
the thread we're inspecting. It's possible that the interpreter state
26+
handling is not thread safe in a way it should be, investigate how we
27+
can improve it.

docs/index.rst

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ continuously taking samples of the call stack of the running program, at a
1414
given frequency. This is similar to tools like `vtune`_ or `gperftools`_: the
1515
main difference is that those tools target C and C-like languages and are not
1616
very helpful to profile higher-level languages which run on top of a virtual
17-
machine, while vmprof is designed specifically for them.
17+
machine, while vmprof is designed specifically for them. vmprof is also thread
18+
safe and will correctly display the information regardless of usage of threads.
1819

1920
There are three primary modes. The recommended one is to use our server
2021
infrastructure for a web-based visualization of the result::

0 commit comments

Comments
 (0)