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

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

ittapi-1.2.1-cp314-cp314-win_amd64.whl (48.6 kB view details)

Uploaded CPython 3.14Windows x86-64

ittapi-1.2.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (179.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

ittapi-1.2.1-cp313-cp313-win_amd64.whl (47.3 kB view details)

Uploaded CPython 3.13Windows x86-64

ittapi-1.2.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (178.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

ittapi-1.2.1-cp312-cp312-win_amd64.whl (47.4 kB view details)

Uploaded CPython 3.12Windows x86-64

ittapi-1.2.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (178.1 kB view details)

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

ittapi-1.2.1-cp311-cp311-win_amd64.whl (47.3 kB view details)

Uploaded CPython 3.11Windows x86-64

ittapi-1.2.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (175.6 kB view details)

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

ittapi-1.2.1-cp310-cp310-win_amd64.whl (47.3 kB view details)

Uploaded CPython 3.10Windows x86-64

ittapi-1.2.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (177.1 kB view details)

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

ittapi-1.2.1-cp39-cp39-win_amd64.whl (47.3 kB view details)

Uploaded CPython 3.9Windows x86-64

ittapi-1.2.1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (176.1 kB view details)

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

ittapi-1.2.1-cp38-cp38-win_amd64.whl (47.3 kB view details)

Uploaded CPython 3.8Windows x86-64

ittapi-1.2.1-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (178.1 kB view details)

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

File details

Details for the file ittapi-1.2.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ittapi-1.2.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 48.6 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ittapi-1.2.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 9e2df7653badb76fbbacfd901864b952c478397aafce3a5404861e58853217dd
MD5 2a8ee9ec295cf71b58d5937049a80dcd
BLAKE2b-256 997ac8d22aa71bec497cb846d4e2ff9879c45fdbe6cde114ab6ebbe9b7661577

See more details on using hashes here.

File details

Details for the file ittapi-1.2.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ittapi-1.2.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 45d4c159b575127ceb6f80a5719051b5f21bdbf0028596e74e282b097cffa64e
MD5 14a372225aaf8903c22e50a20c81f567
BLAKE2b-256 7e1bf344c6b518aa977dce53b9cd4ca92f8d244957c2d1202b05b02be39a274d

See more details on using hashes here.

File details

Details for the file ittapi-1.2.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ittapi-1.2.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 47.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ittapi-1.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7791c027766af8d55bfe0e27122e12aac049e7900e27950de048078d544f79af
MD5 44811f51523b095fb2f107a558ccbdc8
BLAKE2b-256 e63359ce8d7bc97f4bc3b81f83d5f4106bf31da863af45e91e8c72a109db6220

See more details on using hashes here.

File details

Details for the file ittapi-1.2.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ittapi-1.2.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 29c82fc506ebf131d1662938b96cfdfbe6424882f15a7628f391ed4dfb830ca7
MD5 005deb710dc3a027001908fa0ed65080
BLAKE2b-256 2c552cf4d905c5a203efdf1a1cde64d410ee8d56ffed6e8043be1638744b5335

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ittapi-1.2.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 47.4 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ittapi-1.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 098326533cbaf5f59a04749b8d6940242c0de19b5c4cde074eda8f8954ef39cb
MD5 e924e8e17ad215bd30cebcce69de03c3
BLAKE2b-256 b2918b16056d6438a78e69677922ecb63af4fc21b909361929edf807de86ed0f

See more details on using hashes here.

File details

Details for the file ittapi-1.2.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ittapi-1.2.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 7e633600ffa3ad280baea1494596433b5f1b0627e41b64ea19903eea88c3de55
MD5 fda6beb4e862d0181a3a5c580b0b58de
BLAKE2b-256 ef621b48f9d2b8e2ad584f5f0cf8b5517dc794eed217b48b327d25389039deba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ittapi-1.2.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 47.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ittapi-1.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1cae7682449d9aaa905bdf6a879763e72a3049c54ffba262e18551eaf043013b
MD5 1d7e9236695d9c040782682f59ca72ec
BLAKE2b-256 b2108f0435aa11d5fb199711afeef674b66807b353cb19c9abd831d4eb1e4bc1

See more details on using hashes here.

File details

Details for the file ittapi-1.2.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ittapi-1.2.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 7818e4088737ed77ddbf99a95ab05600ec5f332455daee33a6e82b282d6a8031
MD5 b51ebf0d5030a8708b3d38938328c69f
BLAKE2b-256 213796b4882cc99837defc62cbdd835894d6bd39b6efc91b78b884679f640744

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ittapi-1.2.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 47.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ittapi-1.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 dc78c35702712071aeca053c229c497c117977f5d5ae4aeef12015f5f82bd243
MD5 1a0635d73ff4ca1f513c9b771fd23fc2
BLAKE2b-256 378996c6bca0e5f965a8e3f37ebb7c8ac7a86afd034cb84379d800e391022ce6

See more details on using hashes here.

File details

Details for the file ittapi-1.2.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ittapi-1.2.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 760b5c2c3d7d9a93f903a1c4620106149850371d16a9d06deea20eb14b0911a8
MD5 4e209c2d64eac1c79b13ecff904d9624
BLAKE2b-256 250c55053bd80088529cb824caf66a0f441c551c0cff03ae2cf600437bcbb81b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ittapi-1.2.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 47.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ittapi-1.2.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 466e7f6f3d0d6a31c2dee6e16023cbc500c4e711fdff5d4856b4f4042b534683
MD5 1c609437726b5056bcaeb36561edffb5
BLAKE2b-256 1b96f2bdc0fb2c5f74d447bf41b1f452c1e115befb4bab6a5d0a29856c4418bb

See more details on using hashes here.

File details

Details for the file ittapi-1.2.1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ittapi-1.2.1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 c33e8b5359d5347fac05cf8189c421417f1b3aaeb78c480df5ce133edab51ca7
MD5 0bf098cf0210d0d29e3431888eb01789
BLAKE2b-256 fcd61cd427dad4360cf5ee576027f86aeccda991ddadc7977ccee2c6e15c2a24

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ittapi-1.2.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 47.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ittapi-1.2.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 76147a5863cc2009cb2ff5fd864cd9f1c0326757b2871a58797694a9fa70906f
MD5 bfa9cef6f80c60180ecacfab154ebc6c
BLAKE2b-256 c3bc2393c24a5614029b177a6dfab72663634548409b3fa832896ddbebe5b871

See more details on using hashes here.

File details

Details for the file ittapi-1.2.1-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for ittapi-1.2.1-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 410f64bae0ec8097ab82f503323014ec493d4b33380997bcfbb8a1180f501778
MD5 7a36965e848cd11c1650f6e50934063a
BLAKE2b-256 9f61ffa978b102e1470cae410330ad24c21cbbe4622ca744675a85b19fa5ccad

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