Antonello Cruz
2008-Mar-01 00:20 UTC
[dtrace-discuss] SMF FMRI terms available in process contracts
The putback of PSARC 2008/046 Process Contract Decorations 5079353 RFE: contract ''decoration'' with service FMRI has provided process contracts with terms describing service FMRI and additional information that will identify the origin of the process contract. This information will also be available postmortem. You can use ctstat(1) to view the new terms as shown below: $ ctstat -vi 1,4 CTID ZONEID TYPE STATE HOLDER EVENTS QTIME NTIME 1 0 process owned 0 0 - - cookie: 0 informative event set: none critical event set: none fatal event set: hwerr parameter set: noorphan member processes: 1 inherited contracts: none service fmri: svc:/system/init:default service fmri ctid: 1 creator: sched aux: 4 0 process owned 1 0 - - cookie: 0x1 informative event set: none critical event set: empty fatal event set: core signal hwerr parameter set: inherit regent member processes: 100004 inherited contracts: none service fmri: svc:/system/svc/restarter:default service fmri ctid: 4 creator: init aux: smf In this case we have the information of the process contracts for init(1M) and svc.startd(1M) Here is a simple example of dtrace to cont syscall by service fmri: # dtrace -qn ''syscall:::entry { @[stringof(curthread->t_procp->p_ct_process->conp_svc_fmri->rs_string)] = count(); }'' ^C svc:/system/filesystem/autofs:default 2 svc:/system/fmd:default 2 svc:/network/inetd:default 4 svc:/network/nfs/cbd:default 12 svc:/system/intrd:default 13 svc:/system/svc/restarter:default 20 svc:/system/sysevent:default 23 svc:/system/console-login:default 24 svc:/system/sac:default 30 svc:/network/smtp:sendmail 74 svc:/system/svc/repository:default 156 svc:/system/name-service-cache:default 329 svc:/system/webconsole:console 535 svc:/network/ssh:default 2308 There is an RFE (6667501) filed to create stable interfaces to access some process contract terms directly. More details can be found in the man page for process(4) The source code is already in opensolaris. Please file any bugs in solaris/utility/smf -Antonello