Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
TNF Library Functionstnf_process_disable(3TNF)


NAME

 tnf_process_disable, tnf_process_enable, tnf_thread_disable, tnf_thread_enable - probe control internal interface

SYNOPSIS

 
cc [ flag ... ] file ... -ltnfprobe [ library ... ]
#include <tnf/probe.h>
void tnf_process_disable(void);
 void tnf_process_enable(void);
 void tnf_thread_disable(void);
 void tnf_thread_enable(void);

DESCRIPTION

 

There are three levels of granularity for controlling tracing and probe functions (called probing from here on): probing for the entire process, a particular thread, and the probe itself can be disabled or enabled. The first two (process and thread) are controlled by this interface. The probe is controlled with the prex(1) utility.

The tnf_process_disable() function turns off probing for the process. The default process state is to have probing enabled. The tnf_process_enable() function turns on probing for the process.

The tnf_thread_disable() function turns off probing for the currently running thread. Threads are "born" or created with this state enabled. The tnf_thread_enable() function turns on probing for the currently running thread. If the program is a non-threaded program, these two thread interfaces disable or enable probing for the process.

ATTRIBUTES

 

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
AvailabilitySUNWtnfd
Interface StabilityUnstable
MT-LevelMT-Safe

SEE ALSO

 

prex(1), tnfdump(1), TNF_DECLARE_RECORD(3TNF), TNF_PROBE(3TNF), attributes(5)

NOTES

 

A probe is considered enabled only if:

  • prex(1) has enabled the probe AND
  • the process has probing enabled, which is the default or could be set with tnf_process_enable() AND
  • the thread that hits the probe has probing enabled, which is every thread's default or could be set with tnf_thread_enable().

There is a run time cost associated with determining that the probe is disabled. To reduce the performance effect of probes, this cost should be minimized. The quickest way that a probe can be determined to be disabled is by the enable control that prex(1) uses. Therefore, to disable all the probes in a process use the disable command in prex(1) rather than tnf_process_disable().

The tnf_process_disable() and tnf_process_enable() functions should only be used to toggle probing based on some internal program condition. The tnf_thread_disable() function should be used to turn off probing for threads that are uninteresting.


SunOS 5.9Go To TopLast Changed 5 Feb 2002

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.