Skip to content

vectorgrp/btf-toolchain

Repository files navigation

btf-toolchain

This is the repository for the btf-toolchain, which helps to create Best Trace Format (BTF) files.
BTF is a trace format for timing analysis that can be imported and analysed by the TA Tool Suite.

Possible uses for the btf-toolchain could be to import a BTF file for editing or to create a BTF file from scratch. The second use case is against the background that the TA Tool suite can only import certain formats such as BTF and VX1000 csv. For additional trace formats from non-supported operating systems, the BTF toolchain can be used to write a custom X to BTF converter. See the Documentation for more information.
The documentation is a combination of Doxygen-generated html files and markdown files.
It is recommended to open it with a browser. If no browser is available, the overview.md file in doc/md can be opened instead.

Content:

  • src/libBtf: reading and writing of BTF files
  • src/libHelper: utilities like logging
  • test: examples on how to use the btf-toolchain in C++
  • pybtf: bindings to the C++ libraries for Python
  • pytest: examples on how to use the btf-toolchain in Python

Dependencies:

  • programmes:
    • [required] cmake
    • [required] gcc (9 or higher), msvc (19.22 or higher) or clang (8 or higher)
    • [optional] python3
    • [optional] ccach: for build acceleration
    • [optional] doxygen and graphviz: for doxygen documentation generation
    • [optional] clang-tidy and/or cppcheck: for static source code analysis
    • [optional] include-what-you-use: for static source code analysis
    • [optional] clang-format: for source code formatting
  • libraries:
    • [optional] pybind11: required for python bindings. Automatically installed
    • [optional] pybind11-stubgen
    • [optional] wheel
    • [optional] catch2: required for testing

Build:

Linux

  1. mkdir build && cd build
  2. cmake ..
  3. cmake --build . --parallel 8
  4. cpack
  5. python3 ../setup.py bdist_wheel --bdist-dir ~/temp/bdistwheel

Windows

  1. Start a Developer Powershell for VS 2019/2022 (or any console which fulfills the requirements)
  2. mkdir build && cd build
  3. cmake ..
  4. cmake --build
  5. python ..\setup.py bdist_wheel

Contact:

Got any questions or problems?
Feel free to contact us via email (support@vector.com) or by submitting a support form on the Vector Support Page.