/ittapi

Intel® Instrumentation and Tracing Technology (ITT) and Just-In-Time (JIT) API

Primary LanguageRust

Intel® Instrumentation and Tracing Technology (ITT) and Just-In-Time (JIT) API

Build Status CodeQL Package on conda-forge Package on PyPI Package on crates.io OpenSSF Scorecard

This ITT/JIT open source profiling API includes:

  • Instrumentation and Tracing Technology (ITT) API
  • Just-In-Time (JIT) Profiling API

The Instrumentation and Tracing Technology (ITT) API enables your application to generate and control the collection of trace data during its execution across different Intel tools.

ITT API consists of two parts: a static part and a dynamic part. The dynamic part is specific for a tool and distributed only with a particular tool. The static part is a common part shared between tools. Currently, the static part of ITT API is distributed as a static library and released under a BSD/GPLv2 dual license with every tool supporting ITT API.

Build

To build the library:

  • On Windows, Linux, FreeBSD and OSX: requires cmake to be set in PATH
  • Windows: requires Visual Studio installed or requires Ninja to be set in PATH
  • To enable fortran support requires Intel Fortran Compiler installed
  • To list available build options execute: python buildall.py -h
usage: buildall.py [-h] [-d] [-c] [-v] [-pt] [-ft] [--force_bits]

optional arguments:
  -h, --help      show this help message and exit
  -d, --debug     specify debug build configuration (release by default)
  -c, --clean     delete any intermediate and output files
  -v, --verbose   enable verbose output from build process
  -pt, --ptmark   enable anomaly detection support
  -ft, --fortran  enable fortran support
  --force_bits    specify bit version for the target
  --vs            specify visual studio version (Windows only)
  --cmake_gen     specify cmake build generator (Windows only)

License

All code in the repo is dual licensed under GPLv2 and 3-Clause BSD licenses

Contributing

To contribute, please see our contributing guide
To report bugs or request enhancements, please use the "Issues" page on GitHub

Security

Please refer to the security policy for reporting vulnerabilties.