Add support for trace seeking #69
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SPDX-FileCopyrightText: Copyright 2025 Siemens AG | |
| # | |
| # SPDX-License-Identifier: MIT | |
| name: build bt2-ftrace-to-ctf | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| workflow_dispatch: | |
| # Sets permissions of the GITHUB_TOKEN to checkout the repository | |
| permissions: | |
| contents: read | |
| jobs: | |
| reuse-and-codestyle: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: install dependencies | |
| run: | | |
| pip3 install --break-system-packages fsfe-reuse | |
| git clean -f -d | |
| - name: execute linters | |
| run: | | |
| reuse lint | |
| build: | |
| runs-on: ubuntu-24.04 | |
| needs: generate-trace-data | |
| strategy: | |
| matrix: | |
| distro: | |
| ["debian:bookworm", "debian:trixie", "debian:forky", "ubuntu:noble"] | |
| meson_opts: ["-Dtracecmd-internals=false", "-Dtracecmd-internals=true"] | |
| container: ${{ matrix.distro }} | |
| steps: | |
| - name: checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: install dependencies | |
| run: | | |
| apt-get update | |
| # Install common build dependencies | |
| apt-get install -y --no-install-recommends \ | |
| build-essential \ | |
| ninja-build \ | |
| libbabeltrace2-dev \ | |
| libtraceevent-dev \ | |
| libtracecmd-dev \ | |
| libtracefs-dev \ | |
| libglib2.0-dev \ | |
| libjson-glib-dev | |
| # Install meson, using backports for Debian bookworm | |
| if [[ "${{ matrix.distro }}" == "debian:bookworm" ]]; then | |
| # Add backports repository for Debian bookworm | |
| echo "deb http://deb.debian.org/debian bookworm-backports main" > /etc/apt/sources.list.d/backports.list | |
| apt-get update | |
| apt-get install -y -t bookworm-backports meson | |
| else | |
| apt-get install -y meson | |
| fi | |
| shell: bash | |
| - name: build components | |
| run: | | |
| meson setup -Dbuildtype=debugoptimized ${{ matrix.meson_opts }} build | |
| cd build && ninja | |
| - name: download sample trace data | |
| uses: actions/download-artifact@v5 | |
| with: | |
| name: trace-data | |
| - name: smoke test deps | |
| run: apt-get install -y babeltrace2 | |
| - name: smoke test source.ftrace.tracedat | |
| env: | |
| BABELTRACE_PLUGIN_PATH: ${{ github.workspace }}/build | |
| run: babeltrace2 trace.dat | |
| - name: smoke test sink.ftrace.tracemeta | |
| env: | |
| BABELTRACE_PLUGIN_PATH: ${{ github.workspace }}/build | |
| run: babeltrace2 --component=meta:sink.ftrace.tracemeta trace.dat | |
| - name: smoke test query inteface | |
| env: | |
| BABELTRACE_PLUGIN_PATH: ${{ github.workspace }}/build | |
| run: babeltrace2 query -p "inputs=[trace.dat]" source.ftrace.tracedat babeltrace.trace-infos | |
| - name: smoke test ftrace-to-ctf | |
| env: | |
| BABELTRACE_PLUGIN_PATH: ${{ github.workspace }}/build | |
| run: ./build/ftrace-to-ctf --lttng trace.dat /tmp | |
| generate-trace-data: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y trace-cmd | |
| - name: generate trace.dat sample data | |
| run: sudo trace-cmd record -C mono -e "sched:*" sleep 1 | |
| - uses: actions/upload-artifact@v5 | |
| with: | |
| name: trace-data | |
| path: trace.dat |