Skip to main content

Python bindings to Intel Instrumentation and Tracing Technology (ITT) API.

Project description

ittapi

ittapi is a Python binding to Intel Instrumentation and Tracing Technology (ITT) API. It provides a convenient way to mark up the Python code for further performance analysis using performance analyzers from Intel like Intel VTune or others.

NOTE: For compatibility and smooth migration with earlier versions of Python bindings(itt-python), please replace import itt with import ittapi.compat as itt. For more details about ittapi.compat, visit ittapi.compat page.

ittapi supports following ITT APIs:

  • Collection Control API
  • Domain API
  • Event API
  • Id API
  • String Handle API
  • Task API
  • Thread Naming API

Usage

The main goal of the project is to provide the ability to instrument a Python code using ITT API in the Pythonic way. ittapi provides wrappers that simplify markup of Python code.

import ittapi

@ittapi.task
def workload():
  pass

workload()

ittapi.task can be used as a decorator. In this case, the name of a callable object (workload function in this example) will be used as a name of the task and the task will be attributed to a default domain named 'ittapi'. If you want to change the default name and/or other parameters for the task (e.g. task domain), you can pass them as arguments to ittapi.task:

import ittapi

@ittapi.task('My Task', domain='My Task Domain')
def workload():
  pass

workload()

Also, ittapi.task returns the object that can be used as a context manager:

import ittapi

with ittapi.task():
    # some code here...
    pass

If the task name is not specified, the ittapi.task uses call site information (filename and line number) to give the name to the task. A custom name for the task and other task parameters can be specified via arguments for ittapi.task in the same way as for the decorator form.

Installation

ittapi package is available on PyPi and can be installed in the usual way for the supported configurations:

pip install ittapi

Build

The native part of ittapi module is written using C++20 standard, therefore you need a compiler that supports this standard, for example GCC-10 for Linux and Visual Studio 2022 for Windows.

Ubuntu 22.04

  1. Install the compiler and Python utilities to build module:

    sudo apt install gcc g++ python3-pip
    
  2. Clone the repository:

    git clone https://github.com/intel/ittapi.git
    
  3. Build and install ittapi:

    cd python
    pip install .
    

Windows 10/11

  1. Install Python 3.8+ together with pip utility.

  2. Install Visual Studio 2022. Make sure that "Desktop development with C++" workload is selected.

  3. Clone the repository

    git clone https://github.com/intel/ittapi.git
    
  4. Build and install ittapi

    cd python
    pip install .
    

References

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

ittapi-1.2.0-cp312-cp312-win_amd64.whl (47.1 kB view details)

Uploaded CPython 3.12 Windows x86-64

ittapi-1.2.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (185.0 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

ittapi-1.2.0-cp311-cp311-win_amd64.whl (47.1 kB view details)

Uploaded CPython 3.11 Windows x86-64

ittapi-1.2.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (184.4 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

ittapi-1.2.0-cp310-cp310-win_amd64.whl (47.1 kB view details)

Uploaded CPython 3.10 Windows x86-64

ittapi-1.2.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (183.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

ittapi-1.2.0-cp39-cp39-win_amd64.whl (47.1 kB view details)

Uploaded CPython 3.9 Windows x86-64

ittapi-1.2.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (181.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

ittapi-1.2.0-cp38-cp38-win_amd64.whl (47.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

ittapi-1.2.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (184.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

File details

Details for the file ittapi-1.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ittapi-1.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 47.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for ittapi-1.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 eaa7d5b1633d65ad8db3cbefac3c52998f86e3eb3ce60570d6c825b3da505da4
MD5 8574029a09165192d6183530105f8e02
BLAKE2b-256 fb01e8e032251a8ce0b448afe707788a976eb6b44c26efd36ef64c7db48eaf0e

See more details on using hashes here.

File details

Details for the file ittapi-1.2.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ittapi-1.2.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f7d41c0cd5553c447195ef9ad06a80786898018d4560b291c8fa021ae8036ad9
MD5 a8aeb19096f9b621bc5b25ed216455dc
BLAKE2b-256 5756afe1f476cc41fccad017486b398bd50fa2a66ad5bd4cb75a9d56cf4ed97a

See more details on using hashes here.

File details

Details for the file ittapi-1.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ittapi-1.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 47.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for ittapi-1.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 19a3adf7738423fef903713818160a63589cc51047cf2c685e63771e280df06c
MD5 04d327d620aa407e768e38bdcc43697d
BLAKE2b-256 f51fe7f1b7b29fe4ec966e9d5d25b7582ddd5bce33f58579defab659fb79792d

See more details on using hashes here.

File details

Details for the file ittapi-1.2.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ittapi-1.2.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 627606f56c812cba1444841cbc37b944febf1ac9cd7e42fa78eee59621949be2
MD5 dd8f623ccca1c36de525655b74d4f36d
BLAKE2b-256 25e8d136a7d7e7ff2a6243344cbb49b857cdc1c74274d6b528524edb30cdb0fe

See more details on using hashes here.

File details

Details for the file ittapi-1.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ittapi-1.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 47.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for ittapi-1.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 46e15efaf53291eb9a1e2e4ab9c44613a1ac5939ee86d123451a00b068fcadc1
MD5 6e43731396cd6cf0065451785af54039
BLAKE2b-256 6c8f469f7a784136780af370b94ff5eaf8cda2a1a29338a1f14f3d475a93b4ef

See more details on using hashes here.

File details

Details for the file ittapi-1.2.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ittapi-1.2.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 11ea1a75d9bcc3f67d29c5a0840c11810a0a0c631240ff17b06f4d0d4493ebda
MD5 aac7e179198516d3a925ccdce6a2c0b1
BLAKE2b-256 a8413c0856ec9e56c451720d89f4b4f2e2b49ba23dbbbaeede8b4ca5e84f92a5

See more details on using hashes here.

File details

Details for the file ittapi-1.2.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ittapi-1.2.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 47.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for ittapi-1.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c3b26fa70f3316b5e68dd56d01472566c33c4d07e535b5add650dba317a5bab9
MD5 afcc6353fbce74e366a64671560d5aea
BLAKE2b-256 ddffe076d81b09fcf92deb801eb4e94546ebf4fc66c1dfadec215413b7fd2c7e

See more details on using hashes here.

File details

Details for the file ittapi-1.2.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ittapi-1.2.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 91d068f55feea6269cde9942ef60d41dd9a025b3c723a4953dffd4cdfd0820f9
MD5 1db4125a5d0d82a7f028bcbc25948122
BLAKE2b-256 bbb7382f2ab2d7e38b7e0dd98ff3af37665bbc6e242a89b6f000e92e00963a30

See more details on using hashes here.

File details

Details for the file ittapi-1.2.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: ittapi-1.2.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 47.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for ittapi-1.2.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 03bbb0e1dac5cc6030b23819e40ad43d2844482f0ef370544e28c18b3d5c1c98
MD5 cc42ccfdab2edd21b7813bcb14265b54
BLAKE2b-256 a8cfd4a540af6cae0c0fff0e0014b1dccb0e9a00649f6bcb390ae7b9c7d3e6dd

See more details on using hashes here.

File details

Details for the file ittapi-1.2.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ittapi-1.2.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4f0081ed6681dcc5c1de6d91bd75c97bc50d3580fa776c88e0e1a29c7e736c4c
MD5 6dfb06f0a20178dcab48cfca24e13f92
BLAKE2b-256 db7c110a1f49ba1d19d93002212eeece22f98afa3221ae8ee64af8cd2f6f4b91

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