Thanks to visit codestin.com
Credit goes to GitHub.com

Skip to content

v0.16.0

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Jan 11:58
· 5 commits to main since this release
v0.16.0

New Features

Now it's possible to export detailed trace to perfetto trace format!
The trace can be collected with tracexec collect --format perfetto
and viewed in https://ui.perfetto.dev/ as demonstrated in the following video:

tracexec-pftrace.webm

This feature enables interesting new use cases such as build system profiling
and examining the detailed exec traces in tree format using perfetto UI.

Improvements

  • eBPF backend: use BPF_RB_FORCE_WAKEUP for event delivery.
  • Perf: use internment crate for much faster string interning.

Bug Fixes

  • Ptrace backend: use timestamp produced at a single location.
  • Ptrace backend: fix parent tracking for exec failure events.
  • TUI: fix "Prev Match" command.
  • Collect command now handles SIGINT and SIGTERM gracefully.
  • eBPF backend: don't write skel to src dir in build script
  • eBPF backend: fix data race with per-cpu data structures.
  • Ptrace backend: fix interpreter path extraction for files smaller than 2 bytes.

Build Related Changes

  • tracexec is now split into multiple crates (tracexec-core, tracexec-backend-ptrace, tracexec-backend-ebpf, tracexec-exporter-json, tracexec-exporter-perfetto, tracexec-tui and optionally perfetto-trace-proto) for better modularity and faster compilation.
  • A new feature protobuf-binding-from-source is added for building protobuf bindings to the perfetto trace format.
    By default, this feature is disabled and tracexec uses a vendored and hand-minified protobuf binding to perfetto to speed up compilation and avoid protoc build dependency.
    See INSTALL.md for more details.

Internal Changes

  • Obsolete directories (casts, screenshots, 3rdparty) are removed from git repo.
  • Update dependencies. Notably ratatui is updated to 0.30 and lru is bumped for an unsoundness fix.
  • Update and refactor UKCI.
  • Add CodeRabbit configuration for AI powered code review.
  • Remove whitesource bolt bot from CI.
  • Track test coverage with Codecov and cargo-llvm-cov in CI.
  • Check code style in CI with rustfmt.
  • Explicitly specify Github Actions workflow permissions