This repository contains the following profiling APIs:
- Instrumentation and Tracing Technology (ITT) API
Powers your application to generate and control the collection of trace data during its execution, seamlessly integrating with Intel tools. - Just-In-Time (JIT) Profiling API
Reports detailed information about just-in-time (JIT) compiled code, enabling you to profile the performance of dynamically generated code.
The ITT/JIT APIs consist of two parts:
- Static Part
An open-source static library that you compile and link with your application. - Dynamic Part
A tool-specific shared library that collects and writes trace data. You can find the reference implementation of the dynamic part as a Reference Collector here.
To build the library:
- Get general development tools, including C/C++ Compiler
- Install Python 3.6 or later
- Install CMake 3.5 or later
- For a Windows* system, install one of these:
- Microsoft Visual Studio 2015 or later
- Ninja 1.9 or later
- To enable support for Fortran, install the Intel Fortran Compiler
- 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)
Find complete documentation for ITT/JIT APIs on the ITT/JIT APIs Documentation Page
All code in the repo is dual licensed under GPLv2 and 3-Clause BSD licenses
Learn how to contribute using our contribution guide
To report bugs or request enhancements, please use the Issues page on GitHub
To report vulnerabilities, refer to our security policy