monero/utils/health
mj-xmr 5b4fea72cf Copyright: Update to 2023
Co-authored-by: plowsof <plowsof@protonmail.com>
extra files
2023-01-16 13:00:18 +01:00
..
build-scripts
README.md
clang-build-time-analyzer-run.sh
clang-include-what-you-use-run.sh
clang-tidy-run-cc.sh
clang-tidy-run-common.sh
clang-tidy-run-cpp.sh
valgrind-tests.sh

README.md

Intro

This directory contains tools, which can be used for checking the health of the project, like build/run time analyzers, lints, etc.

Usage

Unless it's stated differently, these scripts should be called from a given source directory, where you want the checks to be performed, for instance:

og@ghetto:~/dev/monero$ utils/health/clang-build-time-analyzer-run.sh

ClangBuildAnalyzer

utils/health/clang-build-time-analyzer-run.sh The CBA helps in finding culprints of slow compilation. On the first run, the script will complain about the missing ClangBuildAnalyzer binary and will point you to another script, which is able to clone and build the required binary.

clang-tidy

utils/health/clang-tidy-run-cc.sh utils/health/clang-tidy-run-cpp.sh Performs Lint checks on the source code and stores the result in the build directory. More information on the home page.

include-what-you-use

utils/health/clang-include-what-you-use-run.sh Analyses the header file hierarchy and delivers hints on how to reduce their complexity. More information on the home page.

Valgrind checks

utils/health/valgrind-tests.sh This script is able to run valgrind's callgrind, cachegrind and memcheck for a given set of executables. It expects ONE PARAMETER, which points to a file with paths to executables and their arguments, written line by line. For example:

ls -l -h
build/tests/unit_tests/unit_tests

The *.out results can be interpreted with the kcachegrind tool. The memcheck output is just a readable text file with a summary at the end.

Footer

Responsible: mj-xmr