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.

Files for caliper-reader, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size caliper_reader-0.3.0-py3-none-any.whl (9.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size caliper-reader-0.3.0.tar.gz (6.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page