[dtrace-discuss] dependency attributes for User Statically Defined Probes

Nikita Zinoviev
2008-03-11T16:14:54Z

I''d like to report the following issue:
it seems that user is unable to set dependency attributes
to COMMON, it looks like ISA is the maximum for USDT probes.
This kind of contradics corresponding chapter in the user guide,
because it uses COMMON a lot, and doesn''t mention anything about ISA.

Also I found that corresponding attribute pragmas should be placed
*after* provider declarations not before as the guide suggests.

this looks like holes in the documentation.
BTW: the error which dtrace -G reports is not very helpful either.

So, the following provider definition script:

provider myserv {
   probe myprobe(int i);
};

#pragma D attributes Standard/Standard/Common provider myserv provider
#pragma D attributes Standard/Standard/Common provider myserv module
#pragma D attributes Standard/Standard/Common provider myserv function
#pragma D attributes Standard/Standard/Common provider myserv name
#pragma D attributes Standard/Standard/Common provider myserv args


here is the dtrace output:


bash-3.2$ dtrace -n "myserv\$target:::" -c myserv -v -l
    ID   PROVIDER            MODULE                          FUNCTION NAME
  1692 myserv14919            myserv                              main
myprobe

         Probe Description Attributes
                 Identifier Names: Standard
                 Data Semantics:   Standard
                 Dependency Class: ISA

         Argument Attributes
                 Identifier Names: Standard
                 Data Semantics:   Standard
                 Dependency Class: ISA

         Argument Types
                 args[0]: int


or


bash-3.2$ dtrace -n "myserv\$target:::" -c myserv -v
dtrace: description ''myserv$target:::'' matched 1 probe

Stability attributes for description myserv$target::::

         Minimum Probe Description Attributes
                 Identifier Names: Standard
                 Data Semantics:   Standard
                 Dependency Class: ISA

         Minimum Statement Attributes
                 Identifier Names: Stable
                 Data Semantics:   Stable
                 Dependency Class: Common

Hello!
dtrace: pid 14917 has exited
CPU     ID                    FUNCTION:NAME
   1   1692                     main:myprobe


Regards,

Nikita Zinoviev