DTrace TODO

This page is for brainstorming and coordinating efforts with DTrace development. Anyone who has and idea/wish can add an item and if you work on one of those you grab it. You can always mail the freebsd-dtrace mailing list in case you do not have write access to the wiki, have questions or want to work on this but are not (yet;-) a FreeBSD committer.

Most of these problems are specific to FreeBSD's DTrace implementation, but some of them are upstream (illumos) issues as well.

DTrace TODO items

added by

responsible

state

task

JohnBirrell

Implement toxic ranges.

JohnBirrell

Implement stop() action.

JohnBirrell

Port MDB DTrace-related dcmds to FreeBSD debugger.

JohnBirrell

Credentials and privileges need a lot of work.

JohnBirrell

There are lots of places in the build where the ctfconvert and ctfmerge tools complain about the objects they are processing. Those issues need to be resolved.

StaceySon

Add missing built-in variables: ipl, zonename (jailname)

PedroGiffuni

The DTrace userland tool has to run as root: it would be beneficial to have it use capsicum(4).

MarkJohnston

MarkJohnston, RuiPaulo

wip

Get libproc to look up symbols through a .gnu_debuglink ELF section, so that userland DTrace works properly with WITH_DEBUG_FILES. This was partially implemented in r278658 but there are some shortcomings: we hard-code the debug dir path, and we ignore symbols from the base file if a debug file exists. This can mean that the dynamic symbol table is ignored.

MarkJohnston

dtrace(1) apparently has various troubles when run within in a jail.

MarkJohnston

MarkJohnston

wip

Get the DTrace test suite down to 0 failures. On my machine it's currently at 948/999 tests passing. Many of the failing tests are for userland DTrace. I've also fixed some test issues caused by various Solarisms. Also find a good place to add regression tests for issues found in FreeBSD. Currently they can be run under Kyua from /usr/tests/cddl/usr.sbin/dtrace if the system was build with WITH_DTRACE_TESTS in src.conf(5).

MarkJohnston

Port the cpc provider to FreeBSD, or implement something similar.

MarkJohnston

There is a bunch of ports that have USDT probes that aren't enabled on FreeBSD. Find them and add support. An easy place to start is tcl, a less easy place to start is perl, and a less less easy place to start is openJDK. Email markj@freebsd.org for the first two, I've made some progress on them already.

MarkJohnston

Submit DTrace patches back to illumos. There are some bug fixes in our DTrace implementation that are not specific to FreeBSD. They are minor for the most part, but should be upstreamed. Maybe the illumos people don't mind having #ifdef FreeBSD in their code? :)

MarkJohnston

Improve documentation. We now have man pages for some providers (e.g. dtrace_ip(4)).

MarkJohnston

RuiPaulo

plockstat provider. markj: also see https://people.freebsd.org/~markj/patches/isi_plockstat.diff

MarkJohnston

Fix dtrace kernel module unloads. At the moment this frequently causes kernel crashes, making it difficult to test changes to the DTrace kernel code.

GeorgeNevilleNeil

wip

Add the fds[] array

HowardSu

Add ARM support for fasttrap provider

EdMaste

CTF has a limit on the number of values in an enum. See r333872.

review = needs code review, wip = "work in progress"

Available patches

References


CategoryDtrace CategoryTodo CategoryStale

DTraceTODO (last edited 2020-06-20T07:24:03+0000 by KubilayKocak)