#python-module #process #trace #component #com #hook #information

bin+lib functiontrace-server

The server component that FunctionTrace (functiontrace.com) clients will spawn and connect to

26 releases

0.8.0 Jul 27, 2024
0.7.1 Sep 26, 2023
0.6.1 Sep 10, 2023
0.5.4 Jun 9, 2023
0.1.4 May 21, 2020

#8 in #python-module

Download history 156/week @ 2024-07-22 45/week @ 2024-07-29 5/week @ 2024-08-12 8/week @ 2024-09-02 6/week @ 2024-09-09 19/week @ 2024-09-16 62/week @ 2024-09-23 3/week @ 2024-09-30 25/week @ 2024-10-07 33/week @ 2024-10-14

123 downloads per month

Custom license

66KB
1K SLoC

See https://functiontrace.com/ for end user instructions and demos.

Functiontrace is implemented as two components:

  1. A server, written in Rust, which aggregates trace information from running processes
  2. A python module, written in C and Python, which hooks in to the various traced events.

Development Info

Developing with Nix

With Nix, we use devenv to have a standard test and development environment. The standard development loop is to setup that environment using devenv shell.

devenv shell
just test

You can test small changes inside an existing devenv shell, including working with most of our supported Python variants. To rebuild the Python module, you need to tell Nix to rebuild by restarting your devenv shell.

Developing with standard Python

Building the server

$ just build-server

Building the python module

$ just build-python
$ python setup.py bdist_wheel --dist-dir ./dist

# You may also want to install it
$ pip install py-functiontrace/dist/*.whl

Testing

You must have functiontrace installed, and have functiontrace-server in your $PATH. The Nix development path should do this for you.

# The test script will use the server built in target/release
$ just test

Dependencies

~13–29MB
~384K SLoC