Files
revng-revng/share/revng/mass-testing-meta.yml
Giacomo Vercesi 94b9ecad6c mass-testing: exclude paths from flamegraph
Add a new option to the mass-testing `meta.yml` that allows skipping
some paths when generating the flamegraph. In the case of revng this
allows skipping the intermediate python frames.
2025-12-12 15:46:49 +01:00

58 lines
1.3 KiB
YAML

#
# This file is distributed under the MIT License. See LICENSE.md for details.
#
extra_columns:
- name: text_size
label: .text size
type: int
renderer: filesize
align: right
- name: text_speed
label: .text/s
type: float
generator: text_size / elapsed_time
renderer: filesize
align: right
ordering:
- name: text_size
dir: asc
hooks:
pre: |
REVNG_TEST_PATH=$(command -v revng-test)
TEMP_DIR=$(mktemp -d)
ln -s "$REVNG_TEST_PATH" "$TEMP_DIR/revng"
ln -s "$REVNG_TEST_PATH" "$TEMP_DIR/revng2"
export PATH="$TEMP_DIR:$PATH"
post: |
rm -rf "$TEMP_DIR"
if [[ "$RC" -eq 0 && ! -f "$TEST_OUTPUT_DIR/stacktrace.json" ]]; then
rm "$TEST_OUTPUT_DIR/trace.json.gz"
fi
stacktrace_aggregation:
exclude_paths:
- /llvm/include/
- /llvm/lib/
- /clang-release/include/
- /PipeboxCommon/
exclude_libs:
- ADT.*
- Pipeline.*
- Support.*
- TupleTree.*
- Model
- Pipes
flamegraph_exclude_paths:
- libpython[^/]*\.so[^/]*
- lib/python[^/]*/lib-dynload
highlights:
- query: WHERE status = 'TIMED_OUT' ORDER BY text_size ASC
description: "Smallest timed-out binary"
- query: WHERE status = 'OOM' ORDER BY text_size ASC
description: "Smallest out-of-memory binary"