Skip to content

Repository files navigation

Python Application Heartbeats

Documentation Status

A Python application-level heartbeats interface.

Installing

The apphb package is published in the Python Package Index and installable with pip:

pip install apphb

and through Conda Forge:

conda install apphb

To install from source:

pip install .

Usage

The core component is the Heartbeat class. The user defines a window period (window_size) that specifies a sliding window length over which performance is computed. Users may optionally specify other fields to compute sums and rates for.

For example:

total_iters=10window_size=2hbt=Heartbeat(window_size)
fortaginrange(total_iters):
start_time=time.monotonic()
application_kernel()
end_time=time.monotonic()
hbt.heartbeat(tag, (end_time-start_time,))
print(str(tag) +': Instant performance: '+str(hbt.get_instant_rate()))
print(str(tag) +': Window performance: '+str(hbt.get_window_rate()))
print('Global performance: '+str(hbt.get_global_rate()))

See the examples directory for more detailed use cases, including specifying custom fields.

Project Source

Find this and related project sources at the libheartbeats organization on GitHub.
This project originates at: https://github.com/libheartbeats/apphb-python

Bug reports and pull requests for bug fixes and enhancements are welcome.

About

Application Heartbeats in Python

Topics

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages