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.

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

[TODO] intel-ittapi package is available on PyPi and can be installed in the usual way for the supported configurations:

[TODO] pip install intel-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.1.0-cp312-cp312-win_amd64.whl (44.3 kB view details)

Uploaded CPython 3.12 Windows x86-64

ittapi-1.1.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (163.9 kB view details)

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

ittapi-1.1.0-cp311-cp311-win_amd64.whl (36.5 kB view details)

Uploaded CPython 3.11 Windows x86-64

ittapi-1.1.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (162.6 kB view details)

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

ittapi-1.1.0-cp310-cp310-win_amd64.whl (36.5 kB view details)

Uploaded CPython 3.10 Windows x86-64

ittapi-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (165.9 kB view details)

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

ittapi-1.1.0-cp39-cp39-win_amd64.whl (44.4 kB view details)

Uploaded CPython 3.9 Windows x86-64

ittapi-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (165.1 kB view details)

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

ittapi-1.1.0-cp38-cp38-win_amd64.whl (44.5 kB view details)

Uploaded CPython 3.8 Windows x86-64

ittapi-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (167.3 kB view details)

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

File details

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

File metadata

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

File hashes

Hashes for ittapi-1.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d1369b45ce6e6931838cc1b17f7d1ed59f48ff9ee377dac0a69f7d7a5c4b2709
MD5 195fbb7dff621a39db96f7ce6b7d22d9
BLAKE2b-256 a23432044f67c6f08809628cbcb1f10c31f42199ae58c11fbd8b146fd6ddd1ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ittapi-1.1.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cfffa30c65639e946074f7a883eb502d9dd57ab44f1d87b95f822de6fc772b12
MD5 dfc5b7360dffd6095febb88a53df8607
BLAKE2b-256 df7968effdb035b1382c5f4081ad34c5bbf8002cc4ec045edf4c958f14122976

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ittapi-1.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0c03f6c6e23432c01fb11eec44bf6c0fbb41ec0ba0bda1b4440c44afe429889d
MD5 23ec3b24f464db7b9893ef4dd9a52207
BLAKE2b-256 315b57d5457898a11a6ae0c7e6159692fb9455983f0c0a5f4e2ac9791804308c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ittapi-1.1.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9dcc45e1a131a19b7b12206766a659427366bc067dd930c61788bcb22cba068b
MD5 cd40f03425b33243bd33b26d29d06a32
BLAKE2b-256 6b89203da0ffabff3d03aa81e4ab97d46f36eadbba08d0c1a7c0c149cc9ac6ba

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ittapi-1.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d035d8de943a5e7acf01249830329c7851a37a8529c87dfcd658574c227a4249
MD5 884a9e8144caec7408cb70b824469496
BLAKE2b-256 3a3379653d975d6ac3cb532d23445c7697eca2f90ac8b3286acd9a8af4c1dbf6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ittapi-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0e0af4236362596ccec11d4d49b77f5914172be618efa9a6a8256ce0ab2d4099
MD5 13901710988c1d3b0dfced470ff5a317
BLAKE2b-256 09cf587827cf47d483836b6daf20112241f47951838a6c97151a272cb06c363a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ittapi-1.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ce85af4f23ea1d0f44431775a934be099490099fca494aecf55b4688feb15a1e
MD5 3898fad257c0a3eec67e0a9b23f54e63
BLAKE2b-256 051d73a34d5ca7cf1f6d492f1c5cfd02b3e6fb49251f994e61ef75793b184160

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ittapi-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 578b0f370909892322e6652f8a61213453c3abdac802ce23547eb788b1a5f5f8
MD5 f8be4032a6fc37ecd19d7fad5e44b75a
BLAKE2b-256 dc956a547693fd427608d86680d9bc1ee66a6e2879431138034948c4cfb38aa2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ittapi-1.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2d4dd5663c998a61abcbfc1e6f289cb8cab91cd64357321a1818c0039999c9b3
MD5 b970d718ea0e4bf1c8d402b394f93baf
BLAKE2b-256 0943662ef336e2f73f9aee1b3b0e9442d2faecd42357d446a781fdf67e7d332b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ittapi-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c41f6a2a1b3c254b28283d6096316ec6da8e1a0da0a318fe51b37dbc6abec4f0
MD5 4cec22eef28a1a4e6a7b6b0dbf6d2f3a
BLAKE2b-256 efa7797403df69d01e1ef26b0512c15b94a4f89eac6e916f51bc9c1eae6ea38a

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