mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
94b9ecad6c
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.
58 lines
1.3 KiB
YAML
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"
|