Skip to main content

Easily add performance counters to your code

Project description

PerfCounters

Coverage Status license

Easily add performance counters to your python code.

PerfCounter is a thoroughly tested library that make it easy to add counters to any python code to measure intermediate timings and values. Its various reporting mechanisms (pretty print, json, html, latex, markdown... ) makes it easy to analyze and report performance measurement regardless of your workflow.

Perfcounters natively support two kind of counters:

  • TimeCounters() that are used to track timings.
  • ValueCounters() thatr used if you want to track values.

For each counter you can track intermediate values using the lap() API if needed.

Basic usage

Here is a short example that demonstrate how to track time. Tracking values looks very similarly.

import random
from perfcounters import TimeCounters

cnts = TimeCounters()  # init the counter collection.

cnts.start('random')  # start a timing counter called random.
for x in range(100000):
    int(random.random())
cnts.stop('random')  # stop the random counter

cnts.start('randint')  # start a timing counter called randint.
for x in range(1000000):
    random.randint(0, 1)
cnts.stop('randint')  # stop the randint counter.

cnts.report(rounding=5) # report print all counter values in a nicely formated table.

For more advanced usage take look at the demo jupyter notebook.

Installation

The easiest way to install perfcounters is via pip:

pip install --user -U perfcounters

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

perfcounters-3.0.1.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

perfcounters-3.0.1-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file perfcounters-3.0.1.tar.gz.

File metadata

  • Download URL: perfcounters-3.0.1.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for perfcounters-3.0.1.tar.gz
Algorithm Hash digest
SHA256 93463d8a9c3abab104feac8e52450ca3902eb6d0ba57f02c231b3b9b4eca975c
MD5 39da4a8efa58e5434d5f380ef3ab608d
BLAKE2b-256 75be6ebc30483773a649b6a7647b84c7979d6660309de8573f579a5b021e1ee6

See more details on using hashes here.

File details

Details for the file perfcounters-3.0.1-py3-none-any.whl.

File metadata

  • Download URL: perfcounters-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for perfcounters-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 656b9c739f5dd7595f5b187e93cfcd91958f2afe750ec5c7c1db77f5d960f20d
MD5 f5e6ae97f6f8fc5d66ac0aeb8e0ef38b
BLAKE2b-256 8c05b389556c41169d02024109fbde8574d36f6c1dccd85070e05ae067d4bef1

See more details on using hashes here.

Supported by

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