Skip to main content

A Python library for reading Caliper .cali files

Project description

caliper-reader: A Python reader for Caliper files

This Python package reads the native .cali files produced by the Caliper performance profiling library.

You can install caliper-reader with pip:

$ pip install caliper-reader

Alternatively, add the python/caliper-reader path in the cloned Caliper repository to PYTHONPATH.

Usage

The CaliperReader class reads a Caliper file and then provides its contents in the records and globals class members, where records is a Python list-of-dicts containing the recorded performance data and globals is a Python dict with program metadata about the run. The dicts represent Caliper attribute:value records: the key is the Caliper attribute name; the value is a string or list of strings. The example below prints the avg#inclusive#sum#time.duration metric for every region path in the provided example profile data file:

import caliperreader as cr

r = cr.CaliperReader()
r.read('example-profile.cali')

metric = 'avg#inclusive#sum#time.duration'

for rec in r.records:
    path = rec['path'] if 'path' in rec else 'UNKNOWN'
    time = rec[metric] if metric in rec else '0'

    if (isinstance(path, list)):
        path = "/".join(path)

    print("{0}: {1}".format(path, time))

The CaliperReader attributes() function returns the list of Caliper attributes. The attribute() function returns an Attribute object to query metadata for a given Caliper attribute name:

>>> a = r.attribute('avg#inclusive#sum#time.duration')
>>> a.get('attribute.unit')
'sec'

You can use the read_caliper_contents function as a shortcut to read Caliper data without creating a CaliperReader object:

(records,globals) = cr.read_caliper_contents('example-profile.cali')

Use read_caliper_globals if you only need the global (metadata) record:

globals = cr.read_caliper_globals('example-profile.cali')

Authors

Caliper was created by David Boehme, boehme3@llnl.gov.

Release

Caliper is released under a BSD 3-clause license. See LICENSE for details.

LLNL-CODE-678900

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

caliper_reader-0.4.1.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

caliper_reader-0.4.1-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file caliper_reader-0.4.1.tar.gz.

File metadata

  • Download URL: caliper_reader-0.4.1.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.6

File hashes

Hashes for caliper_reader-0.4.1.tar.gz
Algorithm Hash digest
SHA256 8864faf06650420374f38060c5a5f1c8c7d48f0617d9029708d7743b78b50d41
MD5 6335049decd9c82feb72908c62426573
BLAKE2b-256 659fcd17de6baed6a2c6b17af5f9719c591808d56ff42dd4c1e48886899f27fc

See more details on using hashes here.

File details

Details for the file caliper_reader-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for caliper_reader-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a667c95e8705a6879d69d21a587d736b694a30c55d60ac1a8cacd41ec8b80fc6
MD5 cc44d2a54e57dd1797580b010e76e279
BLAKE2b-256 e8eadbda42eca5a31831797d1f9405c3a0fff2ceccb4c1ead530c36086b94cf2

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