Skip to content

Releases: janestreet/magic-trace

magic-trace v1.2.1

19 Feb 09:09
Compare
Choose a tag to compare

What's Changed

  • Fix -trigger addr:... selections by @Xyene in #289
  • Do not display extremely long commandline arguments by @Xyene in #290
  • Handle tr end async trace events by @Xyene in #288
  • make it possible to invoke magic-trace run -- prog args by @v-gb in #292
  • Upgrade to OCaml 4.14.0 by @Xyene in #294
  • Don't assume perf is still alive after sending it SIGTERM by @Xyene in #293
  • Restore default SIGINT behavior after taking snapshot by @Xyene in #295
  • Be more robust to seeing a poptrap without a matching pushtrap by @Xyene in #296

New Contributors

  • @v-gb made their first contribution in #292

Full Changelog: v1.2.0...v1.2.1

magic-trace v1.2.0

30 Oct 13:45
Compare
Choose a tag to compare

What's Changed

  • Display DSO if symbol is unknown by @Xyene in #209
  • Added capability to attach to multiple PIDs for tracing by @Lamoreauxaj in #218
  • Added ability to trace CPU frequencies with perf by @Lamoreauxaj in #219
  • Add protocol to URLs embedded in help text by @shoffmeister in #220
  • Allow running with sampling if Intel PT is unavailable by @Lamoreauxaj in #224
  • Improved speed of hex parsing in more places by @Lamoreauxaj in #227
  • Added comment explaining callstack order of Sample event by @Lamoreauxaj in #229
  • Filter trace to range by @pbaumbacher in #222
  • Added support to run perf with dlfilter which filters out jumps within same function by @Lamoreauxaj in #231
  • Added env var to forcibly disable perf dlfilter by @Lamoreauxaj in #232
  • Allow extra spacing in cbr regex to not crash on some perf outputs by @Lamoreauxaj in #235
  • Added warnings to -callgraph-mode and added option for stitched LBR. by @Lamoreauxaj in #228
  • Fixed regex bug in CBR event when flags includes space by @Lamoreauxaj in #239
  • Updated -trigger help to specify triggers only apply to first PID passed by @Lamoreauxaj in #238
  • Disable dlfilter when printing trace to sexp by @Lamoreauxaj in #240
  • Add support for magic-trace to sample and show other events such as cache misses and branch misses by @Lamoreauxaj in #234
  • Added ability to fuzzy find on line number based triggers by @Lamoreauxaj in #245
  • .ocamlformat: 0.21 -> 0.24.1 by @hlian in #244
  • .github/workflows/build.yml: download upx 3.96-2 from ftp.debian.org by @hlian in #252
  • Demangle OCaml symbols by @ClyveGassant in #250
  • Add separate events output in sexp or binio format by @Istlemin in #253
  • Disable dlfilter by default by @cgaebel in #255
  • Unwind the stack for caml_stash_backtrace by @cgaebel in #262
  • Fix dlfilter filtering out trace errors by @Xyene in #265
  • Only check for fzf if required to find symbol by @ecatmur in #277
  • Add explicit tests around bogus symbol offset handling by @Xyene in #279
  • Fix stairstepping OCaml traces when exceptions are involved by @Xyene in #280
  • Miscellaneous changes ahead of 1.2 by @Xyene in #281
  • Fix up some messages about sampling wiki links by @Xyene in #282

New Contributors

Full Changelog: v1.1.0...v1.2.0

magic-trace v1.1.0

01 Jun 19:51
14fb2c9
Compare
Choose a tag to compare

What's Changed

  • Proper OCaml exception tracking by @Xyene in #204
  • Add Go-specific hacks to fix demo.go by @cgaebel in #197
  • Fix parsing of never-ending loop trace errors by @Xyene in #203
  • Gracefully handle owee failures in Elf.addr_table by @cgaebel in #195
  • Allow saving raw IPT data to .sexp format, bypassing .fxt generation by @Xyene in #208
  • Give a good error message when waitpid raises by @cgaebel in #211

New Contributors

Full Changelog: v1.0.2...v1.1.0

magic-trace v1.0.2

22 Apr 13:06
0a5dd46
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.0.1...v1.0.2

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

magic-trace v1.0.0

18 Apr 18:01
Compare
Choose a tag to compare

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

magic-trace v0.0.3

31 Mar 14:12
Compare
Choose a tag to compare

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

magic-trace v0.0.2

25 Mar 17:03
ed97878
Compare
Choose a tag to compare

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