Skip to main content

Utilities for measuring application performance

Project description

Simple utilities to make it easier to track performance of Python programs under normal operations

Context Managers

DisplayElapsed

This context manager makes it easy to display console-oriented start/end messages with end-user tolerable formatting.

Usage:

with DisplayElapsed("{now} uploading {filename} (original: {original})\n",
                    "{now} uploaded {filename} in {elapsed:.1f} seconds",
                    filename=remote_path, original=local_path):
    upload_filename(…)

Notes:

  • DisplayElapsed takes one positional argument: message. The message is formatted using str.format with the values {now} and {elapsed} provided automatically. All other keyword arguments provided to DisplayElapsed will be available during formatting.

  • If message contains {{now}} it will be replaced with the current timestamp

  • If message does not contain {{now}} it will be prepended unless include_timestamp=False

  • If postamble is not specified, it will default to " ({elapsed:.1f} seconds)"

  • If output is not specified, it will default to sys.stdout

  • If output_on_error is not True, the normal postamble display will be suppressed when an exception occurs

  • By default, a newline will not be emitted after the opening message so the message and postamble will be displayed on a single line. output will be flushed, if supported, to provide immediate feedback. Provide a message which ends in \n if you want multi-line output.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

performance_tools-0.3.tar.gz (6.7 kB view details)

Uploaded Source

File details

Details for the file performance_tools-0.3.tar.gz.

File metadata

File hashes

Hashes for performance_tools-0.3.tar.gz
Algorithm Hash digest
SHA256 c5677ce6fa559f3edc25410e33679a872cf14fcebd95ea1fb431ac7d67dd8a53
MD5 152c226da586fed844103f973086137a
BLAKE2b-256 2104c37b6a1ffe055c90e131a54328c2402eb7a40771755d68cd68c23ab44134

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page