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
-
Install the compiler and Python utilities to build module:
sudo apt install gcc g++ python3-pip
-
Clone the repository:
git clone https://github.com/intel/ittapi.git
-
Build and install ittapi:
cd python pip install .
Windows 10/11
-
Install Python 3.8+ together with pip utility.
-
Install Visual Studio 2022. Make sure that "Desktop development with C++" workload is selected.
-
Clone the repository
git clone https://github.com/intel/ittapi.git
-
Build and install ittapi
cd python pip install .
References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaa7d5b1633d65ad8db3cbefac3c52998f86e3eb3ce60570d6c825b3da505da4 |
|
MD5 | 8574029a09165192d6183530105f8e02 |
|
BLAKE2b-256 | fb01e8e032251a8ce0b448afe707788a976eb6b44c26efd36ef64c7db48eaf0e |
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
- Download URL: ittapi-1.2.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 185.0 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7d41c0cd5553c447195ef9ad06a80786898018d4560b291c8fa021ae8036ad9 |
|
MD5 | a8aeb19096f9b621bc5b25ed216455dc |
|
BLAKE2b-256 | 5756afe1f476cc41fccad017486b398bd50fa2a66ad5bd4cb75a9d56cf4ed97a |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19a3adf7738423fef903713818160a63589cc51047cf2c685e63771e280df06c |
|
MD5 | 04d327d620aa407e768e38bdcc43697d |
|
BLAKE2b-256 | f51fe7f1b7b29fe4ec966e9d5d25b7582ddd5bce33f58579defab659fb79792d |
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
- Download URL: ittapi-1.2.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 184.4 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 627606f56c812cba1444841cbc37b944febf1ac9cd7e42fa78eee59621949be2 |
|
MD5 | dd8f623ccca1c36de525655b74d4f36d |
|
BLAKE2b-256 | 25e8d136a7d7e7ff2a6243344cbb49b857cdc1c74274d6b528524edb30cdb0fe |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46e15efaf53291eb9a1e2e4ab9c44613a1ac5939ee86d123451a00b068fcadc1 |
|
MD5 | 6e43731396cd6cf0065451785af54039 |
|
BLAKE2b-256 | 6c8f469f7a784136780af370b94ff5eaf8cda2a1a29338a1f14f3d475a93b4ef |
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
- Download URL: ittapi-1.2.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 183.4 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11ea1a75d9bcc3f67d29c5a0840c11810a0a0c631240ff17b06f4d0d4493ebda |
|
MD5 | aac7e179198516d3a925ccdce6a2c0b1 |
|
BLAKE2b-256 | a8413c0856ec9e56c451720d89f4b4f2e2b49ba23dbbbaeede8b4ca5e84f92a5 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3b26fa70f3316b5e68dd56d01472566c33c4d07e535b5add650dba317a5bab9 |
|
MD5 | afcc6353fbce74e366a64671560d5aea |
|
BLAKE2b-256 | ddffe076d81b09fcf92deb801eb4e94546ebf4fc66c1dfadec215413b7fd2c7e |
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
- Download URL: ittapi-1.2.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 181.9 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91d068f55feea6269cde9942ef60d41dd9a025b3c723a4953dffd4cdfd0820f9 |
|
MD5 | 1db4125a5d0d82a7f028bcbc25948122 |
|
BLAKE2b-256 | bbb7382f2ab2d7e38b7e0dd98ff3af37665bbc6e242a89b6f000e92e00963a30 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03bbb0e1dac5cc6030b23819e40ad43d2844482f0ef370544e28c18b3d5c1c98 |
|
MD5 | cc42ccfdab2edd21b7813bcb14265b54 |
|
BLAKE2b-256 | a8cfd4a540af6cae0c0fff0e0014b1dccb0e9a00649f6bcb390ae7b9c7d3e6dd |
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
- Download URL: ittapi-1.2.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 184.4 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f0081ed6681dcc5c1de6d91bd75c97bc50d3580fa776c88e0e1a29c7e736c4c |
|
MD5 | 6dfb06f0a20178dcab48cfca24e13f92 |
|
BLAKE2b-256 | db7c110a1f49ba1d19d93002212eeece22f98afa3221ae8ee64af8cd2f6f4b91 |