[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