Content-Length: 240285 | pFad | http://github.com/namhyung/uftrace/tags

BF Tags · namhyung/uftrace · GitHub
Skip to content

Tags: namhyung/uftrace

Tags

v0.17

Toggle v0.17's commit message
uftrace: Release v0.17

This is a small release including:

 * watchpoint support for global variables
 * show arguments and srcline in dlopen'ed libraries
 * show man page of the sub-command when -h is used

Signed-off-by: Namhyung Kim <namhyung@gmail.com>

v0.16

Toggle v0.16's commit message
uftrace: Release v0.16

This is a small release with:

 * separate debug file support
 * add a new 'o' format for octal values
 * add {total,self}-stdv fields to report
 * improve tracing large Python programs
 * and a lot of bug fixes

Signed-off-by: Namhyung Kim <namhyung@gmail.com>

v0.15.2

Toggle v0.15.2's commit message
build: Fix cc_has_mgeneral_regs_only checking

On some (old) distros, it'd also fail when some FP type variable is
used.  Including stdlib.h for atof() can detect that and should fix
a fix error on CentOS 8.

Signed-off-by: Namhyung Kim <namhyung@gmail.com>

v0.15.1

Toggle v0.15.1's commit message
build: Add -mno-sse for x86_64 build

It was reported that using -mno-sse2 alone can crash clang compiler when
the code it compiles accesses floating-point or vector types.  It seems
adding -mno-sse fix the problem.  I thought -mno-sse2 implies it but
that doesn't seem like the case and caused a problem.

Actually recent versions of clang have -mgeneral-regs-only option and we
should prefer it.  But let's keep the fix minimal for now.

Signed-off-by: Namhyung Kim <namhyung@gmail.com>

v0.15

Toggle v0.15's commit message
uftrace: Release v0.15

It has new arch support and various bug fixes and enhancements including:

 * basic RISC-V (RV64G) architecture support
 * fixes for a couple of kernel tracing bugs
 * better support for binaries built with -fno-plt
 * ignoring unpaired __cyg_profile_func_exit() (probably due to compiler bugs)
 * documentation updates

Signed-off-by: Namhyung Kim <namhyung@gmail.com>

v0.14

Toggle v0.14's commit message
uftrace: Release v0.14

This is a new release with some interesting changes!

The first thing is Python language support.  Now uftrace can trace python
functions and methods like C/C++ functions.  Internally, it uses python's
sys.setprofile() and pass the entry/exit info to the libmcount.

For example, it can trace the following python script (it needs to be a
standalone executable - it should have #! line and executable permission).

    $ cat abc.py
    #! /usr/bin/python3
    def a(): b()
    def b(): c()
    def c(): print("Hello")
    if __name__ == '__main__':
        a()

    $ chmod +x abc.py

Then uftrace can trace the functions like below:

    $ uftrace abc.py
    Hello
    # DURATION     TID     FUNCTION
                [235209] | __main__.<module>() {
                [235209] |   a() {
                [235209] |     b() {
                [235209] |       c() {
      10.810 us [235209] |         builtins.print();
      14.926 us [235209] |       } /* c */
      16.628 us [235209] |     } /* b */
      18.867 us [235209] |   } /* a */
      22.000 us [235209] | } /* __main__.<module> */

Not all features work well with python scripts, but filters by name (-F
and -N), depth (-D), time (-t), location (-L) would work.  However you
can use full features for analysis after recording the data.

The next is the improved agent control.  The agent listens to a client
connection in background when started with -g option.  Then users can
connect to it with uftrace live using -p <PID> option.  The <PID> should
be a process ID of the target, not the uftrace itself.

Say we want to trace my program with a filter at first.  Please don't
forget to start an agent.

    $ uftrace record -g -F ^mycode -- myprog

Later we don't want to use the function filter anymore, and decided to use
a time filter instead.  Let's change the option for the uftrace record
like below:

    $ uftrace -p $(pidof myprog) -F ^mycode@clear -t 100us

Note that the above command would not produce any data and just pass the
new options to the existing uftrace record session (for myprog).

One more big thing is Android build support.  While it's not officially
supported, you can build uftrace as an external tool.  This needed various
improvements in terms of portability like abstracting shmem access and
better handling of the tmp directory and dynamic linker behaviors.

It has been tested with Android 9+ on AArch64 and x86_64.  You probably
want to use dynamic tracing due to issues with the Android runtime.
Please see INSTALL.md for the details.

The size filter at replay now works as same as record, since the symbol
file format was changed to save the symbol size as well.

Symbol demangling on Rust programs was improved to handle trait names in a
more compact way.  The new demangling scheme (v0) is not supported yet.

There are also more fixes and improvements.  Thank you contributors!

Signed-off-by: Namhyung Kim <namhyung@gmail.com>

v0.13.1

Toggle v0.13.1's commit message
build: Update mermaid file conversion rule

This has three effects:
 * not to build the uftrace.o and dump.o files unnecessarily
 * place the converted files to $(objdir)
 * print GEN message for converted files

The second reason is important when the source code is in a read-only
location.

Signed-off-by: Namhyung Kim <namhyung@gmail.com>

v0.13

Toggle v0.13's commit message
uftrace: Release v0.13

It's a new release with the following highlights:
 * -L/--loc-filter option using DWARF source location
 * make -Z/--size-filter option as a general filter
 * preparation for a background agent
 * many test & CI infra updates

Signed-off-by: Namhyung Kim <namhyung@gmail.com>

v0.12

Toggle v0.12's commit message
uftrace: New release v0.12

This is a new release with following changes and more.

 * support dynamic tracing with -fpatchable-function-entry
 * --clock option to use a different clock source

Signed-off-by: Namhyung Kim <namhyung@gmail.com>

v0.11

Toggle v0.11's commit message
uftrace: Bump up version to 0.11

This is a new release with following changes (and more)

 * --format=html to generate HTML output
 * --with-syms=DIR to use existing symbol data for replay/report

Signed-off-by: Namhyung Kim <namhyung@gmail.com>








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/namhyung/uftrace/tags

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy