Magic Trace Versions Save

magic-trace collects and displays high-resolution traces of what a process is doing

v1.2.1

2 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/janestreet/magic-trace/compare/v1.2.0...v1.2.1

v1.2.0

6 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/janestreet/magic-trace/compare/v1.1.0...v1.2.0

v1.1.0

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/janestreet/magic-trace/compare/v1.0.2...v1.1.0

v1.0.2

2 years ago

What's Changed

Full Changelog: https://github.com/janestreet/magic-trace/compare/v1.0.1...v1.0.2

To install, download magic-trace below, run chmod +x magic-trace, then run ./magic-trace -help.

v1.0.0

2 years ago

This release contains a lot of improvements and bugfixes to magic-trace. Upgrading is highly recommended.

The full changelog is available here.

Statically-linked executables and Ubuntu 20.04-equivalent-or-newer packages are attached to this release.

Features

  • The snapshot buffer size is now configurable
  • Timing granularity is now configurable, with lower granularities having lower recording overhead

Fixes

  • Fixed the class of broken traces caused by ignoring Intel PT decode errors
  • Gracefully handle duplicate entries in perf map files
  • Propagate errors from perf
  • Kernel threads are no longer shown when running as root, since they can't currently be traced
  • perf now unconditionally exits when magic-trace does, rather than occasionally outliving it
  • Fixed decoding failure when -working-dir is a relative path

Miscellaneous

  • Sped up trace decoding
  • --version now displays git version information
  • Command help text now contains example invocations
  • Default trace file is now trace.fxt (used to be trace.ftf); this is the correct file extension for Fuchsia traces
  • Many refactors under the hood to permit more unit testing

v0.0.3

2 years ago

This release contains a lot of improvements and bugfixes to magic-trace. Upgrading is highly recommended.

The full changelog is available here.

Statically-linked executables and Ubuntu 20.04-equivalent-or-newer packages are attached to this release.

Features

  • Add support for managed languages (reading of perf map files for symbol selection)
  • Add support for tracing the kernel
  • Add support for executables compiled with basic DWARF 5 debug info
  • Embed absolute timestamps in trace, so that they appear in the viewer and can be matched to logged events
  • Report which frames had their start time inferred
  • Mark addresses as pointers in the Fuchsia trace, so they show up as hexadecimal in the viewer

Fixes

  • Make fzf an optional runtime dependency, rather than crash if it doesn't exist
  • Fixed perf output parsing for symbols including =

Miscellaneous

  • Default to trace.ftf as the output file, moving an existing trace.ftf to trace.ftf.old
  • Cleaned up the command line interface

v0.0.2

2 years ago

This minor release contains largely groundwork for setting up a more regular release cycle.

The full changelog is available here.

Binaries for Ubuntu 20.04-equivalent-or-newer systems are included, as are packages. The next release will have statically-linked executables available for download.

Features

  • Symbol name and post-relocation hex addresses are now printed when specifying -symbol
  • Decoding C++ symbols is now supported

Fixes

  • fzf will now be started from anywhere in $PATH, not just /usr/bin/fzf