[dtrace-discuss] string comparison using regexp

Jon Haslam Jonathan.Haslam at Sun.COM
Wed May 16 09:37:45 PDT 2007


Hi Pavel,

DTrace has a few string manipulation subroutines and strstr()
will probably do what you want here. It's not too pretty
but I think this does it:

fbt::fop_*:entry
/probefunc != "fop_open" && ((vnode_t *)arg0)->v_path != 0 &&
    strstr(stringof(((vnode_t *)arg0)->v_path), "foo") != NULL/
{
        printf("%s\n", stringof(((vnode_t *)arg0)->v_path));
}

Let me know if it isn't what you had in mind.

Jon.


> is it possible in dtrace to use regexp or wildcards?
> I would like to trace fop_ probes if the vnode v_path
> contains matches some regexp..
>
> E.g. I would like to see fop operations on files which have foo in 
> their v_path:
>
> ::fop_*:entry
> /probefunc != "fop_open" && ((vnode_t *)arg0)->v_path == "*foo*"/
> {
> ...
> }
>
>
> Thanks,
> Pavel
> _______________________________________________
> dtrace-discuss mailing list
> dtrace-discuss at opensolaris.org



More information about the dtrace-discuss mailing list