Skip to main content

Deadlocks? Detect where your threads hang in Python.

Build Status Python Package Index

Installation

Install the module with pip:

pip install hanging_threads

If installing with Windows, open the command line program “cmd” and type

py -m pip install hanging_threads

Usage

Monitoring is as simple as calling the start_monitoring() function.

from hanging_threads import start_monitoring
monitoring_thread = start_monitoring()

You may also pass additional parameters.

monitoring_thread = start_monitoring(seconds_frozen=10, test_interval=100)

The values in the example are defaults. This mean the check will happen 10 times per second. If a thread is frozen for at least 10 seconds then the stack is dumped into standard error stream. This happens again every 10 seconds while there is no changes in the stack registered during checks. Checks are done in intervals of 100ms.

Note that it makes sense to save the thread object into variable so that you or somebody else can stop the annoying dumps if needed. For example, you may want to do this in the Python shell.

monitoring_thread.stop()

Changelog

  • v2.0.7: Start changelog, fix crash when line number is not known.

New Releases

To release a new version:

  1. Edit the README.md file in the Changelog Section and add the changes. Increase the hanging_threads.py version.

    git add README.rst hanging_threads.py
    git commit -m"v2.0.7"
    git push
  2. Create a tag for the version.

    git tag v2.0.7
    git push origin v2.0.7
  3. Notify solved issues about the release.

Further Reading

Metadata

Release files for hanging-threads 2.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hanging-threads 2.0.7
File Size Uploaded
hanging_threads-2.0.7.tar.gz 5.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hanging-threads 2.0.7
File Interpreter ABI Platform
hanging_threads-2.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 10.7 kB

Release files / hanging_threads-2.0.7.tar.gz

Download URL hanging_threads-2.0.7.tar.gz
Size 5.2 kB
Tags Source
SHA-256 checksum
How to use checksums
5cfc1e34fcf9e6a0215cf8e0425532b77bd34ce0355a84e410fdc8e1ea15104a
BLAKE2b-256 checksum
How to use checksums
928206eb3c0b55e205f7739243fb9dec8814a098716ebb6dbec5c0f7c8694488
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / hanging_threads-2.0.7-py3-none-any.whl

Download URL hanging_threads-2.0.7-py3-none-any.whl
Size 5.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a6cbfd962dfa02731899081f12e7ac51279e0170dcb4b6421e7c5a320176b744
BLAKE2b-256 checksum
How to use checksums
1d6a2c0119bc9745bb5b3e7cb5cb962b84282d5d37fb8827c72d9ded7ce3a078
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release history Release notifications | RSS feed

This release

2.0.7 This release

2 release files

2.0.6

2 release files

2.0.5

1 release file

2.0.3

3 release files

2.0.2

3 release files

2.0.1

3 release files

2.0.0

3 release files

1.1.3

3 release files

1.1.2

3 release files

1.1.1

3 release files

1.1.0

3 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.7

3 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page