Linux-Trace-Users Archive on lore.kernel.org
 help / color / Atom feed
* RELEASE: New version of DTrace for Linux
@ 2020-12-12  4:34 Kris Van Hees
  0 siblings, 0 replies; 2+ messages in thread
From: Kris Van Hees @ 2020-12-12  4:34 UTC (permalink / raw)
  To: linux-trace-users

I am happy to announce the availability of the latest development version of
DTrace for Linux (2.0.0-1.4).

This new version is based on BPF and other Linux kernel tracing features and
is implemented entirely as a userspace application.

The functionality is still limited in comparison to the kernel module based
version of DTrace for Linux (currently at version 1.2.1-1).  Development
continues in an incremental fashion to make the full feature set of DTrace
available using existing kernel features.

WHERE TO FIND IT?

The new version of DTrace for Linux is available at:
	https://github.com/oracle/dtrace-utils/tree/2.0-branch-dev

The most recent release tag is 2.0.0-1.4.

FEATURES

  - BEGIN and END probe (with full support for the expected semantics).
  - Function Boundary Tracing (FBT) probes.
  - System call entry and exit probes.
  - Timer-based profile-* and tick-* probes.
  - Statically Defined Tracing (SDT) probes for kernel tracepoints.
  - [NEW] Aggregated data collection support.
  - [NEW] Aggregation functions: avg, count, llquantize, lquantize, max, min,
    quantize, stddev, and sum.
  - [NEW] Pretty-printing for aggregations using the printa() action.
  - Direct compilation of D source code into BPF programs.
  - Efficient use of pre-compiled BPF functions for library functions.
  - BPF program linking of dynamically generated code and pre-compiled code
    to facilitate code sharing and code re-use.
  - Integrated disassembler for generated BPF code at the clause and program
    level (-S in combination with the new -xdisasm=# option).
  - Improved trace data buffer handling based on memory mapped perf event
    ring-buffers.
  - Deferred creation of kernel level probes.  Listing available probes does
    not require them to be created at the kernel level.

DEPENDENCIES

DTrace for Linux depends on libctf (part of newer binutils) -or- libdtrace-ctf.
While libctf is preferred, building against libdtrace-ctf is fully supported.
It can be found at:
	https://github.com/oracle/libdtrace-ctf

DTrace for Linux makes use of BPF library functions that are compiled at build
time.  It depends on BPF support in GCC and binutils to generate the
pre-compiled BPF function library.

DTrace for Linux makes use of 3 additional features that are not commonly
available in the Linux kernel:

  - CTF data generation at compile time: this provides important datatype
    information for kernel and kernel module symbols.

  - waitfd() system call: this provides a mechanism to monitor for state
    changes of processes that are being traced.

  - /proc/kallsyms module grouping support: this adds annotation with module
    names to all symbols that are part of a kernel module even if the module
    is configured to be compiled into the kernel proper.  This allows for
    consistent ways to refer to probes by module and function (or probe) name.

These additional support features for tracing are available at:
	https://github.com/oracle/dtrace-linux-kernel/tree/v2/5.8.1

Please consider joining our development list: dtrace-devel@oss.oracle.com

	Enjoy!

	Kris

^ permalink raw reply	[flat|nested] 2+ messages in thread

* RELEASE: New version of DTrace for Linux
@ 2020-10-23 21:29 Kris Van Hees
  0 siblings, 0 replies; 2+ messages in thread
From: Kris Van Hees @ 2020-10-23 21:29 UTC (permalink / raw)
  To: linux-trace-users

I am happy to announce the availability of the latest development version of
DTrace for Linux (2.0.0-1.3).

This new version is based on BPF and other Linux kernel tracing features and
is implemented entirely as a userspace application.

The functionality is still limited in comparison to the kernel module based
version of DTrace for Linux (currently at version 1.2.1-1).  Development
continues in an incremental fashion to make the full feature set of DTrace
available using existing kernel features.

WHERE TO FIND IT?

The new version of DTrace for Linux is available at:
	https://github.com/oracle/dtrace-utils/tree/2.0-branch-dev

The most recent release tag is 2.0.0-1.3.

FEATURES

  - BEGIN and END probe (with full support for the expected semantics).
  - Function Boundary Tracing (FBT) probes.
  - System call entry and exit probes.
  - Timer-based profile-* and tick-* probes.
  - Statically Defined Tracing (SDT) probes for kernel tracepoints.
  - Direct compilation of D source code into BPF programs.
  - Efficient use of pre-compiled BPF functions for library functions.
  - BPF program linking of dynamically generated code and pre-compiled code
    to facilitate code sharing and code re-use.
  - Integrated disassembler for generated BPF code at the clause and program
    level (-S in combination with the new -xdisasm=# option).
  - Improved trace data buffer handling based on memory mapped perf event
    ring-buffers.
  - Deferred creation of kernel level probes.  Listing available probes does
    not require them to be created at the kernel level.

DEPENDENCIES

DTrace for Linux depends on libctf (part of newer binutils) -or- libdtrace-ctf.
While libctf is preferred, building against libdtrace-ctf is fully supported.
It can be found at:
	https://github.com/oracle/libdtrace-ctf

DTrace for Linux makes use of BPF library functions that are compiled at build
time.  It depends on BPF support in GCC and binutils to generate the
pre-compiled BPF function library.

DTrace for Linux makes use of 3 additional features that are not commonly
available in the Linux kernel:

  - CTF data generation at compile time: this provides important datatype
    information for kernel and kernel module symbols.

  - waitfd() system call: this provides a mechanism to monitor for state
    changes of processes that are being traced.

  - /proc/kallsyms module grouping support: this adds annotation with module
    names to all symbols that are part of a kernel module even if the module
    is configured to be compiled into the kernel proper.  This allows for
    consistent ways to refer to probes by module and function (or probe) name.

These additional support features for tracing are available at:
	https://github.com/oracle/dtrace-linux-kernel/tree/v2/5.8.1

Please consider joining our development list: dtrace-devel@oss.oracle.com

	Enjoy!

	Kris

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-12  4:34 RELEASE: New version of DTrace for Linux Kris Van Hees
  -- strict thread matches above, loose matches on Subject: below --
2020-10-23 21:29 Kris Van Hees

Linux-Trace-Users Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-trace-users/0 linux-trace-users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-trace-users linux-trace-users/ https://lore.kernel.org/linux-trace-users \
		linux-trace-users@vger.kernel.org
	public-inbox-index linux-trace-users

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-trace-users


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git