[DTrace-devel] [PATCH v3] USDT, phase 1

Nick Alcock nick.alcock at oracle.com
Thu Sep 29 19:21:09 UTC 2022


On 28 Sep 2022, Kris Van Hees told this:

> Another important issue...
>
> You are not at all associating the USDT probes with their proper provider
> names.

Yeah. I thought this wouldn't be a problem for some reason. Can't
remember why now though, surely it would be a problem for the provider
portion of the quad just like it would be for all the other portions.

... oh I know why. I didn't want to end up creating underlying probes
for providers DTrace already implements. But obviously the right way to
do that is with a blacklist, not by simply ignoring the prov name and
jamming 'pid' in there forcibly. The obvious consequences of ignoring
the provider name, uh, didn't occur to me.

Fixed, with extreme prejudice.

>         You can see this in the uprobe_events output but also clearly when
> tracing.  I modified the usdt/tst.args.d script to probe USDT probes with
> provider name test_provFAIL$1 and the script still PASSes even though the
> USDT probes in the trigger executable belong to provider test_prov!!
>
> That is a fundamental flaw

Well, it's easy to fix: stuff the provider name into the uprobe name
too, and extract it from there. I'd not call it *fundamental*. I was
just trying to reduce the amount of stuff we stuck into uprobe names a
bit.

>                            because it means probe matching ignores the
> provider name, which is an essential component of the fully qualified probe
> name.

Agreed!



More information about the DTrace-devel mailing list