My Oracle Support Banner

How to enable on demand loading of Statically Defined User Applications Dtrace Probes (Doc ID 1355081.1)

Last updated on AUGUST 16, 2023

Applies to:

Solaris Operating System - Version 10 and later
Solaris x64/x86 Operating System - Version 10 and later
Information in this document applies to any platform.
Dtrace Probes embedded in Applications of Libraries

Goal

Enable on demand loading of user level Dtrace probes to avoid performance penalties with probe registration on process startup, fork, and exit.

How bad is the performance impact?  

For more of a worst case situation you can reference this document: <Doc ID 1355119.1>
User Processes with static Dtrace probes can cause Performance issues or System Hangs 

More generally, in the simple attached test case where a small process includes a single probe forks 2000 times, with each child just exiting here are some timing samples:

 

Single CPU System      
  No Probes Standard Probe Registration Demand Loading of Probes
Real Time 12.3 seconds 1 minute 05.5 seconds 12.6 seconds
User Time 0.1 seconds 0.1 seconds 0.1 seconds
System Time 2.9 seconds 3.0 seconds 2.9 seconds
       
Two CPU System      
 
No Probes
Standard Probe Registration Demand Loading of Probes
Real Time 2.5 seconds 33.4 seconds 2.5 seconds
User time 0.0 seconds 0.0 seconds 0.0 seconds
System Time 0.6 seconds 0.6 seconds 0.5 seconds
       
Eight CPU system      
  No Probes Standard Probe Registration Demand Loading of Probes
Real Time 1.9 seconds 2.6 seconds 1.9 seconds
User time 0.1 seconds 0.1 seconds 0.1 seconds
System Time 1.8 seconds 2.4 seconds 1.7 seconds



##
## The above times were produced with attached test case, actual performance impact
## will vary based on too many factors to list.
##

What are the draw backs from not registering the probes?

They will not show up when someone tries to list available probes and any potential user would need to find out about them though some other method. That the probes are still there and can still be used can be verified by using the attached test case.

Solution

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.