linux-trace-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Namhyung Kim <namhyung@gmail.com>
To: uftrace@googlegroups.com, linux-trace-users@vger.kernel.org
Subject: [ANNOUNCE] uftrace v0.15 is released!
Date: Sun,  7 Jan 2024 20:16:47 -0800	[thread overview]
Message-ID: <20240108041647.273711-1-namhyung@gmail.com> (raw)

Hello,

I'm pleased to announce a new release of uftrace v0.15.
You can get it from the below link:

  https://github.com/namhyung/uftrace/releases/tag/v0.15

This version adds experimental RISC-V (64 bit) archirecture support
as well as many bug fixes and improvements.

From now on, uftrace can trace functions of RV64G binaries compiled by
gcc/clang with appropriate options (-pg or -finstrument-functions).
Library functions are also traced and you can see the arguments and
return values too.  There are issues in argument handling, but library
functions should be fine.

For example, the following command shows library calls longer than 3
usec (with arguments and return values) in the `uname` command.

    $ uftrace --force -a -t 3us -- uname -m
    riscv64
    # DURATION     TID     FUNCTION
     263.004 us [138960] | strrchr("uname", '/') = "NULL";
      87.751 us [138960] | setlocale(LC_ALL, "") = "NULL";
       5.000 us [138960] | bindtextdomain("coreutils", "/usr/share/locale");
       4.000 us [138960] | getopt_long(2, 0x3fecdcf328, "asnrvmpio") = 109;
       4.000 us [138960] | uname();
       8.250 us [138960] | fputs_unlocked();
     443.257 us [138960] | __overflow();
       3.250 us [138960] | __fpending();
       4.500 us [138960] | fclose(&_IO_2_1_stdout_) = 0;

However dynamic tracing is not supported yet.  (It will come later!)

Another important change is in the kernel tracing.  As libtraceevent is
available on recent distros, the kernel tracing uses the system installed
library and drops the old copy in the uftrace source.  This should help
resolving possible future kernel issues and reduce the maintenance burden.

Also some distros build binaries without PLT and it can confuse uftrace
about the library call tracing.  It now detects the case by verifying
PLT entries not to miss library calls without it.

And of course, there are many more things.  Please refer to the github
page for details.  Thank you all for making uftrace more useful,
efficient and portable!

Namhyung

                 reply	other threads:[~2024-01-08  4:16 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240108041647.273711-1-namhyung@gmail.com \
    --to=namhyung@gmail.com \
    --cc=linux-trace-users@vger.kernel.org \
    --cc=uftrace@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).